Facilitating transactions with a user account using a wireless device

ABSTRACT

A wireless device can store account identifiers and facilitate transactions. The wireless device can be loaded with user account identifiers and can be presented to various checkpoint devices. When presented, the wireless device can transmit a selected account identifier to the checkpoint device. In the context of a purchase transaction, the checkpoint device can be a point-of-sale terminal and the account data can be financial account data. In some instances, the wireless device can also facilitate a purchase transaction, e.g., by obtaining information about products to be purchased, constructing a purchase order from the product information, and transmitting the purchase order to a point-of-sale terminal.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to commonly-owned InternationalApplication No. PCT/US/2013/032529, filed Mar. 15, 2013, entitled“Facilitating Transactions with a User Account Using a Wireless Device,”the disclosure of which is incorporated herein by reference in itsentirety.

BACKGROUND

The present disclosure relates generally to wearable electronic devicesand in particular to a wearable device that can facilitate access toanother (host) device.

Mobile electronic devices, such as mobile phones, smart phones, tabletcomputers, media players, and the like, have become quite popular. Manyusers carry a device almost everywhere they go and use their devices fora variety of purposes, including making and receiving phone calls,sending and receiving text messages and emails, navigation (e.g., usingmaps and/or a GPS receiver), purchasing items in stores (e.g., usingcontactless payment systems), and/or accessing the Internet (e.g., tolook up information).

However, a user's mobile device is not always readily accessible. Forinstance, when a mobile device receives a phone call, the device may bein a user's bag or pocket, and the user may be walking, driving,carrying something, or involved in other activity that makes itinconvenient or impossible for the user to reach into the bag or pocketto find the device.

SUMMARY

Certain embodiments of the present invention relate to wearableelectronic devices that can be connected (e.g., via wireless pairing)with another device (referred to herein as a “host device”), such as asmart phone, other mobile phone, tablet computer, media player, laptopcomputer, or the like. When paired, the wearable device can provideaccess to various functionalities of the host device.

Certain embodiments relate to using a wearable device to facilitate apurchase transaction with a point-of-sale terminal in a store. In someembodiments, the wearable device can facilitate creation of a purchaseorder, e.g., by obtaining product information for products of interestas selected by the user. As the user selects products to purchase, theuser can operate the wearable device to add each product to a purchaseorder. After selecting one or more desired products, the user canproceed to a point-of-sale (“POS”) terminal located somewhere in thestore. The wearable device can establish communication with the POSterminal, e.g., using a near-field communication (“NFC”) transceiver.The wearable device can provide the purchase order to the POS terminal,which can determine a final price for the transaction.

In some embodiments, a wearable device can also facilitate payment forproducts in a purchase transaction. For example, a user can storefinancial account identifying information (e.g., credit card or debitcard numbers and related information) in a wearable device, e.g., bytransferring the information from a host device during a verifiedsession. At a POS terminal, the user can select a financial account tobe used for a purchase transaction by interacting with the wearabledevice, and the wearable device can transmit the financial accountidentifying information to the POS terminal, e.g., using an NFCcommunication channel. The POS terminal can send a transaction requestto a payment processor associated with the financial account and receivea response, e.g., an approval of the transaction.

In some embodiments, a host device that is paired with the wearabledevice can also participate in the purchase transaction. For example, awearable device at the POS terminal can communicate with a host device(e.g., in a verified session) to obtain financial account identifyinginformation in real time. As another example, the host device cancommunicate with the payment processor to verify the transactionrequest.

To facilitate payment transactions and/or other transactions involvingaccess to a user's accounts, a user can store account identifyinginformation (also referred to as an “account identifier” or “accountID”) in a wearable device. The account identifying information can beobtained from a host device during a verified session in which thewearable device is being worn while the host device and the wearabledevice are confirmed to be in proximity to each other and incommunication with each other. The wearable device can store the accountidentifying information, e.g., until it ceases to be worn.

In some embodiments, a wearable device can facilitate a purchasetransaction. For instance, the wearable device can obtain productinformation (e.g., product name and/or price) for one or more productsto be purchased (e.g., by reading a computer-readable tag such as a UPCbar code. QR code, or RFID tag as described below) and can add theproduct information to a purchase order. The wearable device cantransmit the purchase order to a point-of-sale terminal (e.g., using anear-field communication channel) and can further communicate with thepoint-of-sale terminal to complete a purchase transaction for theproducts.

In some instances, the wearable device can provide account informationfor the user's payment account to the point-of-sale terminal. Forexample, the wearable device can interact with the user to obtain a userselection of a payment account, and the wearable device can provide theaccount identifying information for the selected payment account to thepoint-of-sale terminal. If the account identifying information has beenpre-loaded onto the wearable device (e.g., in a verified session asdescribed below), the wearable device can retrieve the storedinformation. Alternatively, the wearable device can communicate with apaired host device to obtain account identifying information on anas-needed basis. In either case, the wearable device can provide accountidentifying information to the point-of-sale terminal, allowing thepoint-of-sale terminal to perform a purchase transaction with a paymentprocessor.

In some embodiments, a wearable device can facilitate management of useraccount data. e.g., by aiding the user in making the data available whenit is needed. For example, a wearable device that is being worn canestablish a verified communication session with a host device. Duringthe verified communication session, the wearable device can receive useraccount data from the host device during the verified communicationsession and can store the received user account data in a local storagemedium. The host device can provide the account data in an encryptedform (e.g., using a session key that is specific to the verifiedcommunication session). The wearable device can continue to store theuser account data until the wearable device ceases to be worn, at whichpoint the data can be deleted from the wearable device's local storage.While the data is stored, the wearable device can, upon request, providea selected subset of the received user account data to a checkpointdevice (which can be any electronic device capable of reading accountdata provided by the wearable device). In some instances, the selectioncan be based on input from the user; for instance, the user can operatea user interface of the wearable device to select an account for whichdata is to be provided at a checkpoint. In some instances, the selectioncan be based on information received from a particular checkpointdevice, and the wearable device can automatically select an account,e.g., based on the identity of the checkpoint device.

Various types of account data can be managed. Examples includeidentifying information for any of the user's financial accounts,membership accounts (e.g., gyms, libraries), health insurance accounts,accounts maintained with a service provider (e.g., a doctor's office),public transit passes or debit-based transit accounts, securitycredentials that may grant the user access to restricted areas of afacility (e.g., an office building), and so on. Examples of checkpointdevices capable of receiving account data can include a point-of-saleterminal at a store, a security barrier in a facility, a check-in desk(e.g., at a gym, doctor's office, or the like), and so on.

The following detailed description together with the accompanyingdrawings will provide a better understanding of the nature andadvantages of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a wearable device communicating wirelessly with a hostdevice according to an embodiment of the present invention.

FIG. 2 is a simplified block diagram of a wearable device according toan embodiment of the present invention.

FIGS. 3A and 3B illustrate a user operating a wearable device accordingto an embodiment of the present invention.

FIG. 4 is a flow diagram of a process for responding to an eventnotification according to an embodiment of the present invention.

FIG. 5 illustrates an interface for alerting a user according to anembodiment of the present invention.

FIG. 6 illustrates another interface for alerting a user according to anembodiment of the present invention.

FIG. 7 illustrates a user interface for selecting a predefined messageaccording to an embodiment of the present invention.

FIG. 8 is a flow diagram of a process for generating an eventnotification and receiving a response according to an embodiment of thepresent invention.

FIG. 9 is a flow diagram of a process for initiating a phone-callfunctionality of a host device according to an embodiment of the presentinvention.

FIG. 10 illustrates a function-selection user interface according to anembodiment of the present invention.

FIG. 11 illustrates a user interface for placing a call according to anembodiment of the present invention.

FIG. 12 illustrates a keypad user interface according to an embodimentof the present invention.

FIG. 13 illustrates a contacts user interface according to an embodimentof the present invention.

FIG. 14 is a flow diagram of a process for placing a call using awearable device according to an embodiment of the present invention.

FIG. 15 is a flow diagram of a process for sending a text message usinga wearable device according to an embodiment of the present invention.

FIG. 16 illustrates a user interface for selecting a predefined messageaccording to an embodiment of the present invention.

FIG. 17 is a flow diagram of a process for establishing a verifiedsession according to an embodiment of the present invention.

FIG. 18 is a flow diagram of a process for responding to a confirmationrequest from a host device during a verified session according to anembodiment of the present invention.

FIG. 19 is a flow diagram of a process for establishing a verifiedsession according to an embodiment of the present invention.

FIG. 20 is a flow diagram of a process for unlocking a host deviceaccording to an embodiment of the present invention.

FIG. 21 shows a simplified state diagram for a host device according toan embodiment of the present invention.

FIG. 22 shows a simplified state diagram for a wearable device accordingto an embodiment of the present invention.

FIG. 23 is a flow diagram of a process for establishing a verifiedsession and a user ID according to an embodiment of the presentinvention.

FIG. 24 is a flow diagram of a process for receiving and responding torequest for a user ID assignment according to an embodiment of thepresent invention.

FIG. 25 illustrates an example of an interface screen for confirming auser ID assignment according to an embodiment of the present invention.

FIG. 26 is a flow diagram of a process for obtaining account identifiersthat can be implemented in a wearable device according to an embodimentof the present invention.

FIG. 27 illustrates a user interface screen according to an embodimentof the present invention.

FIG. 28 is a flow diagram of a process for providing account identifiersto a wearable device according to an embodiment of the presentinvention.

FIG. 29 is a flow diagram of a process for defining a purchasetransaction according to an embodiment of the present invention.

FIG. 30 illustrates an interface screen that can be used for managing apurchase order according to an embodiment of the present invention.

FIG. 31 illustrates an interface screen that can be used for adding anitem to a purchase order according to an embodiment of the presentinvention.

FIG. 32 is a flow diagram of a process for conducting a purchasetransaction according to an embodiment of the present invention.

FIG. 33 illustrates a payment interface screen according to anembodiment of the present invention.

FIG. 34 is a flow diagram of a process that can be executed by apoint-of-sale terminal to complete a purchase transaction with awearable device according to an embodiment of the present invention.

FIG. 35 shows a message-passing diagram for completing a purchaseaccording to an embodiment of the present invention.

FIG. 36 shows a message-passing diagram for completing a purchaseaccording to another embodiment of the present invention.

FIG. 37 shows a message-passing diagram for completing a purchaseaccording to another embodiment of the present invention.

DETAILED DESCRIPTION

Certain embodiments of the present invention relate to wearableelectronic devices that can be connected (e.g., via wireless pairing)with another device (referred to herein as a “host device”), such as asmart phone, other mobile phone, tablet computer, media player, laptopcomputer, or the like. When paired, the wearable device can provideaccess to various functionality of the host device.

In some embodiments, a wearable device can be operated by a user torespond to an event notification generated by a host device. Thewearable device can receive a notification of the event from the hostdevice and present the user with an alert and a prompt to respond. Ifthe user responds to the prompt, the wearable device can transmit theresponse to the host device. For example, a user can respond to a phonecall, text message, or other communication received at the host device.

In some embodiments, a wearable device can be operated by a user toinitiate a functionality of a host device, independently of any priorevent notification. For example, the wearable device can present a userinterface via which the user can select a functionality to be invokedand further interfaces to control that functionality. Accordingly, auser can operate a wearable device to provide a phone number andinstruct a host device to place a phone call to that number, or a usercan operate a wearable device to send a text message to a specifiedrecipient, or a user can operate a wearable device to control mediaplayback and/or any other functionality available on a particular hostdevice.

FIG. 1 shows a wearable device 100 communicating wirelessly with a hostdevice 102 according to an embodiment of the present invention. In thisexample, wearable device 100 is shown as a wristwatch-like device with aface portion 104 connected to straps 106 a, 106 b.

Face portion 104 can include, e.g., a touchscreen display 105 that canbe appropriately sized depending on where on a user's person wearabledevice 100 is intended to be worn. A user can view information presentedby wearable device 100 on touchscreen display 105 and provide input towearable device 100 by touching touchscreen display 105. In someembodiments, touchscreen display 105 can occupy most or all of the frontsurface of face portion 104.

Straps 106 a, 106 b can be provided to allow device 100 to be removablyworn by a user, e.g., around the user's wrist. In some embodiments,straps 106 a, 106 b can be made of any flexible material (e.g., fabrics,flexible plastics, leather, chains or flexibly interleaved plates orlinks made of metal or other rigid materials) and can be connected toface portion 104, e.g., by hinges. Alternatively, straps 106 a, 106 bcan be made of a rigid material, with one or more hinges positioned atthe junction of face 104 and proximal ends 112 a, 112 b of straps 106 a,106 b and/or elsewhere along the lengths of straps 106 a, 106 b to allowa user to put on and take off wearable device 100. Different portions ofstraps 106 a. 106 b can be made of different materials; for instance,flexible or expandable sections can alternate with rigid sections. Insome embodiments, one or both of straps 106 a, 106 b can includeremovable sections, allowing wearable device 100 to be resized toaccommodate a particular user's wrist size. In some embodiments, straps106 a, 106 b can be portions of a continuous strap member that runsbehind or through face portion 104. Face portion 104 can be detachablefrom straps 106 a. 106 b; permanently attached to straps 106 a, 106 b;or integrally formed with straps 106 a, 106 b.

The distal ends of straps 106 a. 106 b opposite face portion 104 canprovide complementary clasp members 108 a, 108 b that can be engagedwith each other to secure the distal ends of straps 106 a, 106 b to eachother, forming a closed loop. In this manner, device 100 can be securedto a user's person, e.g., around the user's wrist; clasp members 108 a.108 b can be subsequently disengaged to facilitate removal of device 100from the user's person. The design of clasp members 108 a, 108 b can bevaried; in various embodiments, clasp members 108 a, 108 b can includebuckles, magnetic clasps, mechanical clasps, snap closures, etc. In someembodiments, one or both of clasp members 108 a, 108 b can be movablealong at least a portion of the length of corresponding strap 106 a, 106b, allowing wearable device 100 to be resized to accommodate aparticular user's wrist size.

Straps 106 a, 106 b can be two distinct segments, or they can be formedas a continuous band of an elastic material (including, e.g., elasticfabrics, expandable metal links, or a combination of elastic andinelastic sections), allowing wearable device 100 to be put on and takenoff by stretching a band formed straps 106 a, 106 b. In suchembodiments, clasp members 108 a, 108 b can be omitted.

Straps 106 a, 106 b and/or clasp members 108 a, 108 b can includesensors that allow wearable device 100 to determine whether it is beingworn at any given time. Wearable device 100 can operate differentlydepending on whether it is currently being worn or not. For example,wearable device 100 can inactivate various user interface and/or RFinterface components when it is not being worn. In addition, in someembodiments, wearable device 100 can notify host device 102 when a userputs on or takes off wearable device 100.

Host device 102 can be any device that communicates with wearable device100. In FIG. 1, host device 102 is shown as a smart phone; however,other host devices can be substituted, such as a tablet computer, amedia player, any type of mobile phone, a laptop or desktop computer, orthe like. Other examples of host devices can include point-of-saleterminals, security systems, environmental control systems, and so on.Host device 102 can communicate wirelessly with wearable device 100,e.g., using protocols such as Bluetooth or Wi-Fi. In some embodiments,wearable device 100 can include an electrical connector 110 that can beused to provide a wired connection to host device 102 and/or to otherdevices, e.g., by using suitable cables. For example, connector 110 canbe used to connect to a power supply to charge an onboard battery ofwearable device 100.

In some embodiments, wearable device 100 and host device 102 caninteroperate to enhance functionality available on host device 102. Forexample, wearable device 100 and host device 102 can establish a pairingusing a wireless communication technology such as Bluetooth. While thedevices are paired, host device 102 can send notifications of selectedevents (e.g., receiving a phone call, text message, or email message) towearable device 100, and wearable device 100 can present correspondingalerts to the user. Wearable device 100 can also provide an inputinterface via which a user can respond to an alert (e.g., to answer aphone call or reply to a text message). In some embodiments, wearabledevice 100 can also provide a user interface that allows a user toinitiate an action on host device 102, such as placing a phone call,sending a text message, or controlling media playback operations of hostdevice 102. Techniques described herein can be adapted to allow a widerange of host device functions to be enhanced by providing an interfacevia wearable device 100.

It will be appreciated that wearable device 100 and host device 102 areillustrative and that variations and modifications are possible. Forexample, wearable device 100 can be implemented in any wearable article,including a watch, a bracelet, a necklace, a ring, a belt, a jacket, orthe like. In some instances, wearable device 100 can be a clip-on deviceor pin-on device that has a clip or pin portion that attaches to theuser's clothing. The interface portion (including, e.g., touchscreendisplay 105) can be attached to the clip or pin portion by a retractablecord, and a user can easily pull touchscreen display 105 into view foruse without removing the clip or pin portion, then let go to returnwearable device 100 to its resting location. Thus, a user can weardevice 100 in any convenient location.

Wearable device 100 can be implemented using electronic componentsdisposed within face portion 104, straps 106 a, 106 b, and/or claspmembers 108 a, 108 b. FIG. 2 is a simplified block diagram of a wearabledevice 200 (e.g., implementing wearable device 100) according to anembodiment of the present invention. Wearable device 200 can includeprocessing subsystem 202, storage subsystem 204, user interface 206, RFinterface 208, connector interface 210, power subsystem 212,environmental sensors 214, and strap sensors 216. Wearable device 200can also include other components (not explicitly shown).

Storage subsystem 204 can be implemented, e.g., using magnetic storagemedia, flash memory, other semiconductor memory (e.g., DRAM, SRAM), orany other non-transitory storage medium, or a combination of media, andcan include volatile and/or non-volatile media. In some embodiments,storage subsystem 204 can store media items such as audio files, videofiles, image or artwork files; information about a user's contacts(names, addresses, phone numbers, etc.); information about a user'sscheduled appointments and events; notes; and/or other types ofinformation, examples of which are described below.

In some embodiments, storage subsystem 204 can also store one or moreapplication programs to be executed by processing subsystem 210 (e.g.,video game programs, personal information management programs, mediaplayback programs, interface programs associated with particular hostdevices and/or host device functionalities, etc.).

User interface 206 can include any combination of input and outputdevices. A user can operate input devices of user interface 206 toinvoke the functionality of wearable device 200 and can view, hear,and/or otherwise experience output from wearable device 200 via outputdevices of user interface 206.

Examples of output devices include display 220, speakers 222, and hapticoutput generator 224. Display 220 can be implemented using compactdisplay technologies, e.g., LCD (liquid crystal display), LED(light-emitting diode), OLED (organic light-emitting diode), or thelike. In some embodiments, display 220 can incorporate a flexibledisplay element or curved-glass display element, allowing wearabledevice 200 to conform to a desired shape. One or more speakers 222 canbe provided using small-form-factor speaker technologies, including anytechnology capable of converting electronic signals into audible soundwaves. In some embodiments, speakers 222 can be used to produce tones(e.g., beeping or ringing) and can but need not be capable ofreproducing sounds such as speech or music with any particular degree offidelity. Haptic output generator 224 can be, e.g., a device thatconverts electronic signals into vibrations; in some embodiments, thevibrations can be strong enough to be felt by a user wearing wearabledevice 200 but not so strong as to produce distinct sounds.

Examples of input devices include microphone 226, touch sensor 228, andcamera 229. Microphone 226 can include any device that converts soundwaves into electronic signals. In some embodiments, microphone 226 canbe sufficiently sensitive to provide a representation of specific wordsspoken by a user; in other embodiments, microphone 226 can be usable toprovide indications of general ambient sound levels without necessarilyproviding a high-quality electronic representation of specific sounds.

Touch sensor 228 can include, e.g., a capacitive sensor array with theability to localize contacts to a particular point or region on thesurface of the sensor and in some instances, the ability to distinguishmultiple simultaneous contacts. In some embodiments, touch sensor 228can be overlaid over display 220 to provide a touchscreen interface(e.g., touchscreen interface 105 of FIG. 1), and processing subsystem202 can translate touch events (including taps and/or other gesturesmade with one or more contacts) into specific user inputs depending onwhat is currently displayed on display 220.

Camera 229 can include, e.g., a compact digital camera that includes animage sensor such as a CMOS sensor and optical components (e.g. lenses)arranged to focus an image onto the image sensor, along with controllogic operable to use the imaging components to capture and store stilland/or video images. Images can be stored, e.g., in storage subsystem204 and/or transmitted by wearable device 200 to other devices forstorage. Depending on implementation, the optical components can providefixed focal distance or variable focal distance; in the latter case,autofocus can be provided. In some embodiments, camera 229 can bedisposed along an edge of face member 104 of FIG. 1, e.g., the top edge,and oriented to allow a user to capture images of nearby objects in theenvironment such as a bar code or QR code. In other embodiments, camera229 can be disposed on the front surface of face member 104, e.g., tocapture images of the user. Zero, one, or more cameras can be provided,depending on implementation.

In some embodiments, user interface 206 can provide output to and/orreceive input from an auxiliary device such as a headset. For example,audio jack 230 can connect via an audio cable (e.g., a standard 2.5-mmor 3.5-mm audio cable) to an auxiliary device. Audio jack 230 caninclude input and/or output paths. Accordingly, audio jack 230 canprovide audio to the auxiliary device and/or receive audio from theauxiliary device. In some embodiments, a wireless connection interfacecan be used to communicate with an auxiliary device.

Processing subsystem 202 can be implemented as one or more integratedcircuits, e.g., one or more single-core or multi-core microprocessors ormicrocontrollers, examples of which are known in the art. In operation,processing system 202 can control the operation of wearable device 200.In various embodiments, processing subsystem 202 can execute a varietyof programs in response to program code and can maintain multipleconcurrently executing programs or processes. At any given time, some orall of the program code to be executed can be resident in processingsubsystem 210 and/or in storage media such as storage subsystem 204.

Through suitable programming, processing subsystem 202 can providevarious functionality for wearable device 200. For example, in someembodiments, processing subsystem 202 can execute an operating system(OS) 232 and various applications for interfacing with a host device,such as a phone-interface application 234, a text-interface application236, and/or a media interface application 238. In some embodiments, someor all of these application programs can interact with a host device,e.g., by generating messages to be sent to the host device and/or byreceiving and interpreting messages from the host device. In someembodiments, some or all of the application programs can operate locallyto wearable device 200. For example, if wearable device 200 has a localmedia library stored in storage subsystem 204, media interfaceapplication 238 can provide a user interface to select and play locallystored media items. Examples of interface applications are describedbelow.

In some embodiments, processing subsystem 202 can also execute a hostsecurity process 260 that provides support for establishing andmaintaining a verified communication session with a host device;examples of such processes are described below. A verified communicationsession can provide an enhanced level of security, and variousoperations of wearable device 200 and/or a host device can be madeconditional on whether a verified communication session between thedevices is in progress. For instance, host security process 260 canfacilitate unlocking a host device when wearable device 200 is present,depending on whether a verified session is in progress. User data 262can include any information specific to a user, such as identificationinformation, user-specified settings and preferences, customizedinformation (e.g., contacts, predefined text messages), and any otheruser-related data. In some embodiments, executing applications andprocesses can access user data 262 to facilitate operations; examplesare described below.

In some embodiments, processing subsystem 202 can also execute ashopping module 264 that facilitates purchase of goods and services. Forexample, as described below, shopping module 264 can create and manage apurchase order and can communicate with a point-of-sale (POS) terminalto complete a purchase transaction. Shopping module 264 can in someinstances complete the purchase transaction using financial accountidentifiers that can be stored as user data 262.

RF (radio frequency) interface 208 can allow wearable device 200 tocommunicate wirelessly with various host devices. RF interface 208 caninclude RF transceiver components such as an antenna and supportingcircuitry to enable data communication over a wireless medium, e.g.,using Wi-Fi (IEEE 802.11 family standards), Bluetooth® (a family ofstandards promulgated by Bluetooth SIG. Inc.), or other protocols forwireless data communication. RF interface 208 can be implemented using acombination of hardware (e.g., driver circuits, antennas,modulators/demodulators, encoders/decoders, and other analog and/ordigital signal processing circuits) and software components. In someembodiments, RF interface 208 can provide near-field communication(“NFC”) capability, e.g., implementing the ISO/IEC 18092 standards orthe like; NFC can support wireless data exchange between devices over avery short range (e.g., 20 centimeters or less). Multiple differentwireless communication protocols and associated hardware can beincorporated into RF interface 208.

Connector interface 210 can allow wearable device 200 to communicatewith various host devices via a wired communication path, e.g., usingUniversal Serial Bus (USB), universal asynchronous receiver/transmitter(UART), or other protocols for wired data communication. In someembodiments, connector interface 210 can provide a power port, allowingwearable device 200 to receive power, e.g., to charge an internalbattery. For example, connector interface 210 can include a connectorsuch as a mini-USB connector or a custom connector, as well assupporting circuitry. In some embodiments, the connector can be a customconnector that provides dedicated power and ground contacts, as well asdigital data contacts that can be used to implement differentcommunication technologies in parallel; for instance, two pins can beassigned as USB data pins (D+ and D−) and two other pins can be assignedas serial transmit/receive pins (e.g., implementing a UART interface).The assignment of pins to particular communication technologies can behardwired or negotiated while the connection is being established. Insome embodiments, the connector can also provide connections for audioand/or video signals, which may be transmitted to or from host device202 in analog and/or digital formats.

In some embodiments, connector interface 210 and/or RF interface 208 canbe used to support synchronization operations in which data istransferred from a host device to wearable device 200 (or vice versa).For example, as described below, a user can customize certaininformation for wearable device 200 (e.g., a “favorite” contacts listand/or specific predefined text messages that can be sent). While userinterface 206 can support data-entry operations, a user may find it moreconvenient to define customized information on a separate device (e.g.,a tablet or smartphone) that has a larger interface (e.g., including areal or virtual alphanumeric keyboard), then transfer the customizedinformation to wearable device 200 via a synchronization operation.Synchronization operations can also be used to load and/or update othertypes of data in storage subsystem 204, such as media items, applicationprograms, and/or operating system programs. Synchronization operationscan be performed in response to an explicit user request and/orautomatically, e.g., when wireless device 200 resumes communication witha particular host device or in response to either device receiving anupdate to its copy of synchronized information.

Environmental sensors 214 can include various electronic, mechanical,electromechanical, optical, or other devices that provide informationrelated to external conditions around wearable device 200. Sensors 214in some embodiments can provide digital signals to processing subsystem202, e.g., on a streaming basis or in response to polling by processingsubsystem 202 as desired. Any type and combination of environmentalsensors can be used; shown by way of example are accelerometer 242, amagnetometer 244, a gyroscope 246, and a GPS receiver 248.

Some environmental sensors can provide information about the locationand/or motion of wearable device 200. For example, accelerometer 242 cansense acceleration (relative to freefall) along one or more axes, e.g.,using piezoelectric or other components in conjunction with associatedelectronics to produce a signal. Magnetometer 244 can sense an ambientmagnetic field (e.g., Earth's magnetic field) and generate acorresponding electrical signal, which can be interpreted as a compassdirection. Gyroscopic sensor 246 can sense rotational motion in one ormore directions, e.g., using one or more MEMS (micro-electro-mechanicalsystems) gyroscopes and related control and sensing circuitry. GlobalPositioning System (GPS) receiver 248 can determine location based onsignals received from GPS satellites.

Other sensors can also be included in addition to or instead of theseexamples. For example, a sound sensor can incorporate microphone 226together with associated circuitry and/or program code to determine,e.g., a decibel level of ambient sound. Temperature sensors, proximitysensors, ambient light sensors, or the like can also be included.

Strap sensors 216 can include various electronic, mechanical,electromechanical, optical, or other devices that provide information asto whether wearable device 200 is currently being worn. For instance,clasp sensor 250 can be at least partially disposed within either orboth of clasp members 108 a, 108 b of FIG. 1 and can detect when claspmembers 108 a, 108 b are engaged with each other or disengaged from eachother. For example, engaging clasp members 108 a, 108 b to each othercan complete an electrical circuit, allowing current to flow throughclasp sensor 250; disengaging clasp members 108 a, 108 b from each othercan break the circuit. As another example, one or more contact sensors252 can be disposed in straps 106 a, 106 b and can detect contact with auser's skin, e.g., based on capacitive sensing, galvanic skin response,or the like. Contact sensors 252 can also include pressure sensors(e.g., piezoelectric devices) or the like. Any other type of sensor thatindicates whether wearable device 200 is currently being worn can beused in addition to or instead of strap sensors 216. For instance,physiological or biometric sensors, such as pulse sensors, ECG sensors,or the like can be provided. In some embodiments, physiological orbiometric sensors can be used in verifying the identity of the wearer ofwearable device 200.

Power subsystem 212 can provide power and power management capabilitiesfor wearable device 200. For example, power subsystem 212 can include abattery 240 (e.g., a rechargeable battery) and associated circuitry todistribute power from battery 240 to other components of wearable device200 that require electrical power. In some embodiments, power subsystem212 can also include circuitry operable to charge battery 240, e.g.,when connector interface 210 is connected to a power source. In someembodiments, power subsystem 212 can include a “wireless” charger, suchas an inductive charger, to charge battery 240 without relying onconnector interface 210. In some embodiments, power subsystem 212 canalso include other power sources, such as a solar cell, in addition toor instead of battery 240.

In some embodiments, power subsystem 212 can control power distributionto components within wearable device 200 to manage power consumptionefficiently. For example, power subsystem 212 can automatically placedevice 200 into a “hibernation” state when strap sensors 216 indicatethat device 200 is not being worn. The hibernation state can be designedto reduce power consumption; accordingly, user interface 206 (orcomponents thereof), RF interface 208, connector interface 210, and/orenvironmental sensors 214 can be powered down (e.g., to a low-powerstate or turned off entirely), while strap sensors 216 are powered up(either continuously or at intervals) to detect when a user puts onwearable device 200. As another example, in some embodiments, whilewearable device 200 is being worn, power subsystem 212 can turn display220 and/or other components on or off depending on motion and/ororientation of wearable device 200 detected by environmental sensors214. For instance, if wearable device 200 is designed to be worn on auser's wrist, power subsystem 212 can detect raising and rolling of auser's wrist, as is typically associated with looking at a wristwatch,based on information provided by accelerometer 242. In response to thisdetected motion, power subsystem 212 can automatically turn display 220and/or touch sensor 228 on; similarly, power subsystem 212 canautomatically turn display 220 and/or touch sensor 228 off in responseto detecting that user's wrist has returned to a neutral position (e.g.,hanging down).

Power subsystem 212 can also provide other power managementcapabilities, such as regulating power consumption of other componentsof wearable device 200 based on the source and amount of availablepower, monitoring stored power in battery 240, generating user alerts ifthe stored power drops below a minimum level, and so on.

In some embodiments, control functions of power subsystem 212 can beimplemented using programmable or controllable circuits operating inresponse to control signals generated by processing subsystem 202 inresponse to program code executing thereon, or as a separatemicroprocessor or microcontroller.

It will be appreciated that wearable device 200 is illustrative and thatvariations and modifications are possible. For example, strap sensors216 can be omitted, and wearable device 200 can include a user-operablecontrol (e.g., a button or switch) that the user can operate to indicatewhen wearable device 200 is being worn. Controls can also be provided,e.g., to turn on or off display 220, mute or unmute sounds from speakers222, etc. In some embodiments, other environmental sensors (e.g.,accelerometer 242) can be used to determine whether wearable device 200is being worn, in addition to or instead of strap sensors 216. Wearabledevice 200 can include any types and combination of sensors and in someinstances can include multiple sensors of a given type.

In various embodiments, a user interface can include any combination ofany or all of the components described above, as well as othercomponents not expressly described. For example, in some embodiments,the user interface can include, e.g., just a touchscreen, or atouchscreen and a speaker, or a touchscreen and a haptic device. Wherethe wearable device has an RF interface, a connector interface can beomitted, and all communication between the wearable device and otherdevices can be conducted using wireless communication protocols. A wiredpower connection, e.g., for charging a battery of the wearable device,can be provided separately from any data connection.

Further, while the wearable device is described with reference toparticular blocks, it is to be understood that these blocks are definedfor convenience of description and are not intended to imply aparticular physical arrangement of component parts. Further, the blocksneed not correspond to physically distinct components. Blocks can beconfigured to perform various operations. e.g., by programming aprocessor or providing appropriate control circuitry, and various blocksmight or might not be reconfigurable depending on how the initialconfiguration is obtained. Embodiments of the present invention can berealized in a variety of apparatus including electronic devicesimplemented using any combination of circuitry and software.

A host device such as host device 102 of FIG. 1 can be implemented as anelectronic device using blocks similar to those described above (e.g.,processors, storage media, user interface devices, data communicationinterfaces, etc.) and/or other blocks or components. Those skilled inthe art will recognize that any electronic device capable ofcommunicating with a particular wearable device can act as a host devicewith respect to that wearable device.

Communication between a host device and a wireless device can beimplemented according to any communication protocol (or combination ofprotocols) that both devices are programmed or otherwise configured touse. In some instances, standard protocols such as Bluetooth protocolscan be used. In some instances, a custom message format and syntax(including, e.g., a set of rules for interpreting particular bytes orsequences of bytes in a digital data transmission) can be defined, andmessages can be transmitted using standard serial protocols such as avirtual serial port defined in certain Bluetooth standards. Embodimentsof the invention are not limited to particular protocols, and thoseskilled in the art with access to the present teachings will recognizethat numerous protocols can be used.

In some embodiments, wearable device 200 can detect a transition from an“idle” position to an “active” position. For example, FIGS. 3A and 3Billustrate a user 300 wearing wearable device 302, which in this exampleis a wrist-worn device. As shown in FIG. 3A, when user 300 is notactively using wearable device 302, the user's arm 304 may hangnaturally at his side. To begin using wearable device 302, user 300 canrotate his arm to the position 304′ shown in FIG. 3B, raising the elbowto bring wearable device 302 into his line of sight. Dashed line 306indicates an approximate motion path of wearable device 302. Motionsensors (e.g., accelerometer 242 and/or gyroscopic sensor 246) candetect a characteristic motion associated with bringing wearable device302 into the user's line of sight; upon detecting this motion, wearabledevice 302 can automatically prepare itself to be used, e.g., byactivating user interface components such as display 220 and/or touchsensor 228. Other patterns of motion can also be detected and cantrigger activation of user interface components; for example, shaking ofthe wrist or a specific motion pattern of the arm or hand (e.g., movingin an “S” curve or circle or triangle). In some embodiments, wearabledevice 302 (or other wearable devices described herein) can have abutton (e.g., on the side of face 104 in FIG. 1) that a user can toggleto turn on or off a touchscreen interface; the button can be provided inaddition to or instead of motion-based detection of activation.

Referring again to FIG. 1, in some embodiments, host device 102 can sendvarious event notifications to wearable device 100, and the user canrespond to the notifications via wearable device 100. For example, hostdevice 102 can alert wearable device 100 to incoming communications suchas phone calls, text messages, voicemail messages, email messages, andthe like; upcoming meetings or events; stock market events such aschange in price of a particular stock; location-based reminders; and/orany other event that can be identified by host device 102. In someembodiments, the user may be able to select which types of events shouldgenerate notifications to wearable device 102, e.g., by interacting witha settings menu provided on host device 102.

FIG. 4 is a flow diagram of a process 400 for responding to an eventnotification according to an embodiment of the present invention.Process 400 can be implemented in a wearable device, e.g., wearabledevice 100 of FIG. 1 or wearable device 200 of FIG. 2, which can beinteracting with host device 102. In some embodiments, theimplementation of process 400 can include program code executed by aprocessor of wearable device 100.

At block 402, wearable device 100 can pair with a host device, e.g.,host device 102. For example, standard Bluetooth pairing techniques canbe used; other techniques for establishing a wireless connection betweentwo devices can be used. In some embodiments, an initial pairing betweentwo devices may involve user interaction with one or both devices toconfirm that the pairing should be established. Once the initial pairingis established, the two devices can automatically reconnect to eachother (without further user intervention) any time they come withincommunication range and are operating their respective RF transceivers.

At block 404, wearable device 100 can receive an event notification fromhost device 102. For example, host device 102 can send a notificationindicating an incoming phone call, text message, or email message. Atblock 406, wearable device 100 can present an alert to the user and canprompt the user for a response. The alert can include, e.g., an audiblealert, a vibration, a visual alert, or any combination of multiplealerts. The prompt can include, e.g., a visual prompt on display 220, anaudio prompt (e.g., a voice prompt), or the like.

FIG. 5 illustrates an alert-and-prompt screen 500 that can be displayedat block 406 when the event notification corresponds to an incomingphone call. Screen 500 can show an identifier of the caller 502; theidentifier can be determined by host device 102 (e.g., based on acontacts list stored therein and/or caller identifying informationreceived by host device 102) and sent to wearable device 100 as part ofthe event notification. Screen 500 can also prompt the user to respondto the call, e.g., by selecting virtual button 504 to instruct the phoneto answer the call, virtual button 506 to instruct the phone to placethe caller on hold, virtual button 508 to instruct the phone to divertthe call to voicemail, and virtual button 510 to decline the call. Otheralerts and prompts can be used, depending on the type of event,available response options, screen size of the wearable device, userpreferences, and similar design considerations.

In some embodiments, a sequence of screens can be presented as part ofprompting the user for a response. For example, FIG. 6 illustrates aprompt screen 600 that can be displayed at block 406 of process 400 whenthe event notification corresponds to an incoming text message. Screen600 shows an identifier of the sender of the text 602; as with a phonecaller, the identifier of a sender of a text can be determined by hostdevice 102 (e.g., based on a contacts list stored therein and/or sourceidentifying information received by host device 102). Screen 600 canalso show a preview of the text message 604; in some embodiments, theuser can scroll (e.g., by sliding a finger up or down on a touchscreen)to view more message content. Screen 600 can also prompt the user torespond to the text, e.g., by selecting virtual button 606 to reply tothe text or virtual button 608 to exit from screen 600 withoutresponding.

If the user selects virtual button 606, a message selection screen 700as shown in FIG. 7 can be displayed, providing a menu of predefined textmessages from which the user can select. For example, virtual button 702can be selected to send a “yes” message, virtual button 704 can beselected to send a “no” message; virtual button 706 can be selected tosend a “thanks” message; and virtual button 708 can be selected to senda “later” message indicating that the user will contact the senderlater. It is to be understood that buttons 702, 704, 706, 708 may notcontain the full text message to be sent but rather a short identifier.For example, the “no” identifier on button 704 can be associated with aless terse message such as “No, sorry,” and the “later” identifier onbutton 708 can be associated with a more specific message such as “I'llcall you later.”

Referring again to FIG. 4, at block 408, wearable device 100 can receivea user input in response to the prompt. For example, the user can selectvirtual buttons via one or more of screens 500, 600, or 700, dependingon context and what the user desires to do. At block 410, wearabledevice 100 can transmit a response message to the host based on thereceived user input.

It is not required that a user actually respond to any particular alerton wearable device 100. For example, in some embodiments process 400 cansimply time out and end at block 408 if the user does not provide inputwithin some fixed time period (e.g., 1 minute, 2 minutes, 5 minutes);the time period can be different for different types of events. Asanother example, a user can select the “close” option (button 608) froma screen such as screen 600, and this can be interpreted by wearabledevice 100 as an indication that the user does not intend to respond. Insome instances, a user may instead choose to respond to an alert byusing host device 102 directly; in such cases, host device 102 cannotify wearable device 100 if a response is received directly at hostdevice 102.

FIG. 8 is a flow diagram of a process 800 for generating an eventnotification and receiving a response according to an embodiment of thepresent invention. Process 800 can be implemented in a host device,e.g., host device 102 of FIG. 1, which can be interacting with awearable device 100 that executes process 400 of FIG. 4 or similarprocesses. In some embodiments, the implementation of process 800 caninclude program code executed by a processor of host device 102.

At block 802, host device 102 can detect an event that triggers a useralert, such as an incoming call or text message. At block 804, hostdevice 102 can determine whether a wearable device (e.g., wearabledevice 100) is currently paired. If not, then at block 806, host device102 can wait for a user input at its local interface to determinewhether and how the user chooses to respond.

If wearable device 100 is currently paired, then at block 808, hostdevice 102 can send an event notification to wearable device 100. Anycommunication protocol can be used, including standard Bluetoothmessages (e.g., incoming call alert), a message that conforms to acustomized serial protocol that can be transmitted using Bluetooth'svirtual serial port capability, or messages conforming to otherprotocols that are mutually understood by the host device and thewearable device. The notification can include information identifyingthe type of event (e.g., incoming phone call, text message received,stock market alert, etc.) and additional details specific to the event(e.g., name or other identifier of the caller, content of a textmessage, etc.).

At block 810, host device 102 can wait for a response, which can comefrom either the wearable device or a local user interface of host device102. For example, a user may receive an alert of an incoming call onwearable device 100 but choose to answer the call using host device 102.Accordingly, host device 102 can monitor activity on the connection towearable device 100 to detect a response and at the same time present alocal interface (e.g., on its own touchscreen display) and monitor thatinterface to detect a response.

At block 812, host device 102 can process the received response,regardless of whether it was received from wearable device 100 or via alocal user interface of host device 102. For example, referring to FIG.5, if a user selects one of virtual buttons 504, 506, 508, 510 fromscreen 500 on wearable device 100, host device 102 can receive aresponse from wearable device 100 indicating which button was selected.In response to answer button 504 being selected, host device 102 cananswer the call; call audio can be routed to wearable device 100 or toanother audio input/output device, such as an internal audio interfaceof host device 102 or a wireless headset that is paired with orotherwise in communication with host device 102. In response to holdbutton 506 being selected, host device 102 can answer the call and playa message to the caller indicating that the caller should hold. The usercan later take the call off hold, e.g., via a local user interface ofhost device 102 or via wearable device 100, allowing the user to speakwith the caller. In response to voicemail button 508 being selected,host device 102 can redirect the call to a voicemail account associatedwith the user, allowing the caller to leave a message. In response todecline button 510 being selected, host device 102 can reject orterminate the call.

As another example, referring to FIG. 7, if a user selects to reply to atext message with a predefined response, e.g., by selecting one ofbuttons 702, 704, 706, 708 on screen 700, host device 102 can generateand send the corresponding text message back to the sender. In someembodiments, wearable device 100 may provide an index or other shortname as an identifier for the text message. Host device 102 can maintaina lookup table or other data structure that maps the identifier to theactual message to be sent (e.g., a short-name identifier such as “later”or an index such as “3” can be mapped to “I'll call you later,” which isthe message that would be sent). In some embodiments, a user can definea set of text messages to be included in the predefined list byinteracting with host device 102, and host device 102 can provide shortnames and/or other identifiers for the user-defined messages to wearabledevice 100, e.g., in a synchronization operation.

It is not required that a user actually respond to a particular alert,either locally on host device 102 or via wearable device 100. In someinstances, process 800 can allow the alert to time out after a specificperiod (e.g., 1 minute, 2 minutes, 5 minutes) if the user does notrespond, in which case process 800 can end at block 806 or 810. Forexample, if an incoming call is not answered within the specified timeperiod after generating the alert, host device 102 can take a defaultaction such as diverting the call to a voicemail system. In someembodiments, if the user does not respond within the specified timeperiod, host device 102 can discontinue the alert and/or replace thealert with an informational notice that is visible to the user (e.g., amissed-call notification or the like).

It will be appreciated that processes 400 and 800 are illustrative andthat variations and modifications are possible. Steps described assequential may be executed in parallel, order of steps may be varied,and steps may be modified, combined, added or omitted. For instance, insome embodiments, a host device can present a user alert via its ownlocal interface in addition to sending a notification to a wearabledevice; in some embodiments, the host device presents a user alert viaits own local user interface only when the wearable device is notpaired; and in some embodiments, the user can specify whether the hostshould send a particular notification to the wearable device, present analert locally, do both, or do neither. A user alert on a host device ora wearable device can take the form of any sensory input detectable by ahuman and can include visual alerts (e.g., lights; displayed text, iconsand or images), audible alerts (e.g., tones, buzzes, ringtones, musicalsounds, and/or speech sounds), and/or tactile alerts (e.g., avibration).

The particular response options described above, e.g., with reference toFIGS. 5-7, are also illustrative, and the user may have other optionsfor responding to a given alert. Further, while processes 400 and 800have been described with reference to specific types of events (incomingcall, incoming text message), it is to be understood that notificationsof other types of events can be processed in the same manner. For anytype of event, the user can have the option to select one of a set ofresponses (which may be limited) via the wearable device's userinterface or to use the host device's local user interface to respond.In some instances, the host device's interface can offer a larger ordifferent range of possible response options than the wearable device(e.g., composing an arbitrary message as opposed to selecting from afinite set of predefined messages).

In some embodiments, in addition to or instead of responding to an eventon the host device, a user can use a wearable device to initiate afunctionality of the host device, e.g., placing a phone call, sending atext message that is not in response to a received text message, orinitiating any other functionality that is available on a particularhost device. FIG. 9 is a flow diagram of a process 900 for initiating aphone-call functionality of a host device according to an embodiment ofthe present invention. Process 900 can be implemented in a wearabledevice, e.g., wearable device 100 of FIG. 1 or wearable device 200 ofFIG. 2, which can be interacting with a host device 102 that provides atelephone transceiver capable of communicating over a phone network(e.g., a cellular telephony network, voice-over-IP system, or the like).In some embodiments, the implementation of process 900 can includeprogram code executed by a processor of wearable device 100.

At block 902, a user can select an option to place a call using the userinterface of wearable device 100. For example, referring to FIG. 10, auser interface of wearable device 100 can include a function selectionscreen 1000. Function selection screen 1000 can be a default screen thatappears when the display of wearable device 100 is activated or it canbe a different screen that the user can access through a touch gestureor sequence of gestures (e.g., to navigate through menus) on atouchscreen display, a hand or arm gesture detected by motion sensorsbuilt into wearable device 100, or other operations. Function selectionscreen 1000 can include various virtual buttons that the user can selectto invoke a functionality of host device 102, such as “call” button 1002to place a call, “text” button 1004 to send a text message, and “music”button 1006 to invoke a media player functionality of host device 102.In this example, a user can select an option to place a call byselecting button 1002.

Referring again to FIG. 9, at block 904, wearable device 100 candetermine whether it is currently paired with a host device 102 that iscapable of making phone calls. If not, wearable device 100 can alert theuser at block 906. The user can take corrective action, such as gettingwithin range of host device 102, turning host device 102 on, etc.

Assuming wearable device 100 is paired with a phone-capable host device102, then at block 908, wearable device 100 can present the user withcalling options, and at block 910, wearable device 100 can receive userinput selecting a calling option. For example, when a user selects callbutton 1002 of FIG. 10, an interface such as screen 1100 of FIG. 11 maybe displayed. FIG. 11 shows options for placing a call, such as anemergency call button 1102 that can be programmed to place a call to aphone number associated with an emergency service (such as 911 in theUnited States or 112 in many European countries), a keypad button 1104to allow a user to dial a number, and a contacts button 1106 to allow auser to look up a contact.

If the user selects keypad button 1104, wearable device 100 can presenta keypad interface, such as screen 1200 of FIG. 12. Screen 1200 includesa virtual phone keypad 1202 (e.g., a standard phone keypad with digits0-9 and “star” and “pound” keys) and a number box 1204 to show thedigits entered so far. In some embodiments, other controls can beprovided (e.g., back, cancel, and done buttons); in some embodiments,gestures can be associated with various control functions such aserasing a digit, canceling the operation, or indicating that entry ofthe number is complete. A user can operate keypad interface screen 1200to dial an arbitrary number.

If, from screen 1100 of FIG. 11, the user chooses contacts button 1106,wearable device 100 can present a selectable contacts list, such asscreen 1300 of FIG. 13. Screen 1300 can present the names of some or allof a user's contacts, e.g., as virtual buttons 1302, 1304, 1306, 1308.If the number of contacts exceeds the available space on screen 1300,the list can be scrollable (e.g., using upward or downward gestures on atouchscreen) to allow the user to view and select from any number ofcontacts.

Wearable device 100 can maintain various amounts of contact information.For example, wearable device 100 can maintain a list of names of theuser's contacts, which it can obtain, e.g., via synchronizationoperations with host device 102 or with other devices. Wearable device100 can maintain just the name and/or other information about eachcontact (e.g., phone numbers, photos) as desired. In some embodiments, auser can designate a subset of her contacts to be synchronized withwearable device 100, and host device 102 can have a larger list ofcontacts than wearable device 100 as well as more information about eachcontact. Alternatively, wearable device 100 can obtain contactinformation from host device 102 in real time, e.g., with user-definedfavorite contacts or most-recently-contacted contacts being presentedfirst and various options to retrieve additional contacts. Accordingly,a user can operate wearable device 100 to select a contact to be called.

Referring again to FIG. 9, once the user input that determines a numberto be called has been received (block 910), process 900 can send a callinstruction to host device 102 at block 912 to instruct host device 102to place the call. In some instances, e.g., where keypad screen 1200 wasused, the call instruction can include a phone number. In someinstances, e.g., where contacts screen 1300 was used to select the partyto be called, the call instruction can include the selected contact'sname (or other unique identifier), from which host device 102 candetermine the phone number to be called, e.g., by looking up theinformation in a user's contact list. Host device 102 can place thecall, and at block 914, wearable device 100 can receive confirmationthat the call has been placed. This confirmation can indicate whetherthe call connected, or it can be sent before the call is actuallyconnected.

At block 916, wearable device 100 can receive and send call-relatedaudio signals, allowing the user to communicate with the caller.Call-related audio signals can include input audio signals (e.g., speechof the user picked up by a microphone and delivered to the host devicefor transmission via the phone network) and/or output audio signals(e.g., speech of the other caller received at the host device via thephone network and delivered to a speaker). In some instances, outputand/or input audio signals can be sent to and/or received from abuilt-in speaker and/or microphone of wearable device 100. In otherinstances, wearable device 100 can send output audio to and/or receiveinput audio from external devices such as a wired or wireless headset.It is not required that all call-related audio signals, or indeed anycall-related audio signals, be routed through wearable device 100. Forexample, host device 102 can route input (or output) audio to (or from)a device other than wearable device 100 while using wearable device 100to route the output (or input) audio, and wearable device 100 canprocess the portion of audio for which it is in the routing path. Insome instances, all call-related audio signals can be routed to and fromdevices other than wearable device 100, in which case wearable device100 would not receive or send call-related audio signals but may simplywait until the call is completed. In some embodiments, wearable device100 can make other functions available to the user while a call is inprogress.

In some embodiments, while a call is in progress, wearable device 100can display a control operable by the user to end the call. At block918, if this control is operated, then at block 920, wearable device 100can alert host device 102 that the call should be ended. Host device 102can terminate the call and return a confirmation to wearable device 100at block 922. Wearable device 100 can present an alert to the user atblock 924 to confirm that the call has ended.

Host device 102 can also detect a call-termination event not originatingfrom wearable device 100, e.g., if the other party disconnects or if theconnection is dropped by the phone network. If this occurs, host device102 can send an event notification to wearable device 100. Accordingly,if the user does not end the call at block 918, then at block 926,wearable device 100 can determine whether host device 102 has sent acall termination notification. If so, then wearable device 100 can alertthe user at block 924. Otherwise, the call can continue (block 1408)until either the user terminates it or the host detects a terminationevent.

FIG. 14 is a flow diagram of a process 1400 for placing a call using awearable device according to an embodiment of the present invention.Process 1400 can be implemented in a host device, e.g., host device 102of FIG. 1, which can be interacting with a wearable device 100 thatexecutes process 900 of FIG. 9 or similar processes, and host device 102can provide a telephone transceiver capable of communicating over aphone network (e.g., a cellular telephony network, voice-over-IP system,or the like) In some embodiments, the implementation of process 1400 caninclude program code executed by a processor of host device 102.

At block 1402, host device 102 can receive a call instruction from apaired wearable device 100 that instructs host device 102 to place aphone call. The call instruction can include, e.g., a phone number to becalled or an identifier of a contact. At block 1404, host device 102 canplace the call. In some embodiments, placing the call can include usingthe contact identifier received at block 1402 to look up a correspondingphone number. At block 1406, host device 102 can send a confirmationthat the call has been placed. The confirmation can be sent, e.g., whilethe call is still being connected.

At block 1408, host device 102 can route the call-related audio signals(including input and output audio signals as described above withreference to FIG. 9) to and from appropriate input and output devices.Audio input and output devices can include an internal microphone orspeaker of host device 102 andior an external microphone or speakerconnected to host device 102 by wired or wireless connections, includingin some instances wearable device 100. In some embodiments, host device102 can determine the routing based on what other devices are currentlyconnected to host device 102 and/or user-specified preferences regardingaudio routing. Accordingly, call-related audio can be routed to wearabledevice 100 or to another device. In some instances, input and outputaudio can be routed differently; for example, host device 102 canreceive input audio from wearable device 102 while providing outputaudio to a different device.

At block 1410, host device 102 can determine whether wearable device 102has sent a message indicating that the call should end. If so, then hostdevice 102 can end the call at block 1412 and send confirmation towearable device 100 at block 1414.

If, at block 1410, wearable device 102 has not indicated that the callshould end, then at block 1416, host device 100 can determine whether ithas received notification via the phone network that the call has ended(e.g., that the other endpoint has terminated the call or that theconnection has been dropped). In addition, in some embodiments, a userwho operated wearable device 102 to place a particular call can operatethe user interface of host device 100 to end the call. If host device102 detects any of these call-ending events, then host device 100 cannotify wearable device 102 that the call has ended at block 1418. Insome embodiments, the notification at block 1418 can include anindication of how the call ended (e.g., terminated by the otherendpoint, dropped call, etc.).

If, at block 1416, host device 100 does not detect that the call hasended, then process 1400 can return to block 1408 to continue to routeaudio for the call. Accordingly, the call can continue until it isterminated by either party.

Similar processes can be used to send other types of communication, suchas text messaging. For example FIG. 15 is a flow diagram of a process1500 for sending a text message using a wearable device. e.g., wearabledevice 100 of FIG. 1 or wearable device 200 of FIG. 2, which can beinteracting with a host device 102 that provides a telecommunicationinterface capable of communicating text messages over a network (e.g., acellular telephony network, cellular data network, the Internet, or thelike) In some embodiments, the implementation of process 1500 caninclude program code executed by a processor of wearable device 100.

At block 1502, a user can select an option to send a text message, e.g.,by selecting text button 1004 from interface screen 1000 of FIG. 10. Atblock 1504, wearable device 100 can determine whether it is currentlypaired with a host device 102 that is capable of making phone calls. Ifnot, wearable device 100 can alert the user at block 1506. The user cantake corrective action, such as getting within range of host device 102,turning host device 102 on, etc.

At block 1508, wearable device 100 can present the user with options forselecting a recipient, and at block 1510, wearable device 100 canreceive the user's selection. In some instances, interface screenssimilar to those shown in FIGS. 11-13 can be used. For example, the usercan send a text to an arbitrary phone number by entering the number intokeypad 1202 of screen 1200, or the user can select a contact from screen1300. In some embodiments, the same list of contacts can be used forboth calls and text messages; in other embodiments, a user can definedifferent lists of favorite contacts for different communication media.

At block 1512, wearable device 100 can present the user with options fortexts to send, and at block 1514, wearable device 100 can receive theuser's selection. For example, similarly to process 400 described above,a user can have a predefined list of texts to send, allowing the user toavoid entering the text character-by-character. FIG. 16 illustrates aninterface screen 1600 for selecting a predefined text message that canbe used at block 1512. The predefined text messages can be differentdepending on whether the user is initiating a new text message (as inprocess 1500) or responding to a received text message (as in process400). For example, button 1602 can be associated with a text such as“I'm leaving now” and button 1604 with a text such as “I'm runninglate,” which are examples of text messages that a user might send to aperson she is going to meet. Button 1606 can be associated with a textsuch as “Please call me,” which requests the recipient to take aparticular action. Button 1608 can be associated with a text such as “Doyou need anything from the grocery store?” which a user might send whileon the way to the store. Other options can be provided in addition to orinstead of these examples, and in some embodiments the user can definespecific text messages and short identifiers in a manner similar to thatdescribed above with reference to FIG. 7.

In some embodiments, wearable device 100 can provide an option to enteran arbitrary text using alphanumeric or other character systems. Forexample, each character in a character system can be mapped to adifferent touch gesture, and a user can enter text by making touchgestures on touchscreen display 105. As another example, each charactercan be mapped to a different sequence of taps (e.g., Morse code or thelike), and a user can enter text by tapping touchscreen display 105. Asyet another example, touchscreen display 105 can present a compactvirtual keypad in which a character is determined based on the keylocation and number of times the user taps the key.

At block 1516, wearable device 100 can instruct the host device to sendthe text message and can provide an identifier of the intended recipient(e.g., phone number or name) and an identifier of the text to be sent;the identifier can be, e.g., an index, a short identifier, or the actualtext entered or selected by the user. As in process 900 described above,host device 102 can use the recipient identifier to determine the phonenumber, and as in processes 400 and 800 described above, host device 102can use a short identifier of the text message to identify the actualmessage to be sent. In some embodiments, at block 1518, wearable device100 can receive a confirmation from host device 102 that the text wassent and/or received; if desired, wearable device 100 can present acorresponding alert or informational message to the user.

It will be appreciated that the communication-initiation processesdescribed above are illustrative and that variations and modificationsare possible. Steps described as sequential may be executed in parallel,order of steps may be varied, and steps may be modified, combined, addedor omitted. Messages can be sent using various communication media andformats, including text messages (sent, e.g., via a short messagingservice (SMS) provided by a cellular communication network that carriesvoice and/or data); email messages, instant messages, social-networkmessages (any of which can be sent, e.g., via an Internet interface ofthe host device); and other types of messages.

In some embodiments, a user can define “quick-access” actions, such as“call Mom” or “text Bob that I'm running late” that can be executed witha reduced number of input actions (e.g., a single gesture to bring up aquick-access list, followed by tapping on the appropriate entry). Thiscan facilitate communication by and with users who are in the midst ofother activities and find it inconvenient to locate their phone to senda quick message or place a call.

Control over host device functions is not limited to communicationfunctions. For example, in some embodiments, a host device 102 can havemedia player capabilities, allowing a user to select and play mediatracks (e.g., audio and/or video), and wearable device 100 can provideremote control over media playback operations of a host device.

Referring again to FIG. 10, interface screen 1000 for wearable device100 includes a button 1006 that can be selected to control mediaplayback in a host device. In some embodiments, in response to userselection of button 1006, wearable device 100 can present an interfaceto select and control media player functions of host device 102. Forexample, wearable device 100 can display lists of playlists, albums,artists, genres, or songs from which the user can select tracks to play;once a track is playing, wearable device 100 can provide playbackcontrols such as play, pause, skip to previous or next track, rewind,fast-forward, volume control and the like, and the user can controlplayback using touch gestures on the display device.

In addition or instead, control can be provided based on movement ofwearable device 100 itself. For example, accelerometers, gyroscopes, orthe like can be used to detect motion of wearable device 100, andcertain motions can be defined as spatial gestures, which in turn can beinterpreted as controls. Thus, in some embodiments, a user can controlthe volume, e.g., by circling her wrist or arm clockwise to increase andcounterclockwise to lower. Other gestures can be associated with otheractions, e.g., a quick up-and-down to play, a quick down-and-up topause, quick right-then-left to skip ahead, quick left-then-right toskip back, etc. Different gestures can be associated with differentcontrol operations as desired.

It is to be understood that other devices can be controlled by awearable device. For example, a wearable device can provide control overenvironmental systems (e.g., heating, lights) through an appropriateuser interface.

In some embodiments, wearable device 100 (or wearable device 200) canfacilitate access to a host device. For example, many users choose to“lock” various devices (e.g., mobile phones, tablet computers, desktopor laptop computers) to prevent unauthorized persons from operating thedevice. A host device that supports a lock feature can require a user todefine a passcode (or other login credential(s) such as a username,secret gesture, or the like) upon activating the lock feature. The hostdevice can thereafter require entry of the previously defined passcode(or supplying of other credential(s)) in order to unlock the device,e.g., when the device awakes from a sleep or screen-off or when a userattempts to operate the device while in its locked state. Some hostdevices can automatically enter the locked state after a period ofinactivity (e.g., 1 minute or 5 minutes), or they can enter the lockedstate in response to a user input such as operating a button to turn offa display of the mobile device. Since some host devices (e.g., mobilephones) tend to be sporadically used throughout the day, users may findthemselves entering their passcodes many times each day.

Some embodiments of the present invention can reduce the need for a userto repeatedly enter a passcode into a host device. For example, wearabledevice 100 can establish a “verified” session with host device 102. Whena user enters a passcode (or other login credentials) into host device102 while wearing wearable device 100 (e.g., while wearable device 100is in close proximity to host device 102), host device 102 can alertwearable device 100 to a sign-in event. In response to the sign-inevent, wearable device 100 and host device 102 can establish a verifiedcommunication session, which can include establishing a session key(e.g., a cryptographic key). Once established, the verified session cancontinue until either the user removes the wearable device or thedevices stop communicating, for instance due to the devices moving outof communication range (e.g., more than roughly 10 meters apart in thecase of Bluetooth). At any time during a verified session, the hostdevice can become locked, and the verified session can continue with thehost device locked. As long as the verified session continues, the usercan unlock the host device, e.g., by bringing the wearable device intoclose proximity with the host device. This can allow the host device tobypass a passcode requirement (or a requirement for other credentials)and unlock itself based on the presence of the wearable device and thecontinuing verified session, without requiring the user to re-enter apasscode.

In some embodiments, host device 102 can provide user-identifyinginformation to wearable device 100. e.g., based on the credentials thatwere used to establish a verified session between host device 102 andwearable device 100. Wearable device 100 can use the user-identifyinginformation to perform various operations such as establishing apersistent user identity for its wearer, selecting user-specificmessages to be displayed and/or sent, customizing interfaces for aparticular user's preferences (e.g., color schemes, fonts, arrangementof menu options, etc.), and so on.

Examples of processes that can allow a wearable device to facilitateaccess to a host device will now be described. FIGS. 17 and 18 are flowdiagrams of processes that can be executed by a wearable device, e.g.,wearable device 100 of FIG. 1, communicating with a host device, e.g.,host device 102 of FIG. 1. FIG. 17 illustrates a process 1700 forestablishing a verified session according to an embodiment of thepresent invention, and FIG. 18 illustrates a process 1800 for respondingto a confirmation request from a host device during a verified sessionaccording to an embodiment of the present invention. In someembodiments, the implementation of processes 1700 and 1800 can includeprogram code executed by a processor of wearable device 100 (e.g., aspart of host security program 260 of FIG. 2).

Referring to FIG. 17, process 1700 can begin at block 1702 when wearabledevice 100 detects a host device (e.g., host device 102) in closeproximity. As used herein, “close proximity” refers to a state in whichthe devices are within a short enough range of each other to make itlikely that the user wearing wearable device 100 is also operating hostdevice 102. For example, if wearable device 100 is a wrist-worn deviceand host device 102 is a mobile device that would typically be operatedwhile held in a user's hand, it is likely that a user wearing wearabledevice 100 and operating host device 102 would bring the two devices towithin 30 or 60 centimeters of each other. Accordingly, some embodimentscan define a threshold distance for close proximity, e.g., at 30centimeters, 60 centimeters, 100 centimeters, or any other value between30 and 100 centimeters. Other threshold distances can also be specified.Whether two devices are in close proximity can be determined bycomparing the threshold distance to an estimated distance between thedevices.

Wearable device 100 can estimate the distance between itself and hostdevice 102 using various techniques. For example, some versions ofBluetooth protocols provide a relative signal strength indicator(“RSSI”) that allows a receiving device to compare the actual signalstrength of a signal from a transmitting device to a nominal signalstrength associated with the transmitting device at a nominal distance.Since signal strength decreases with increasing distance, the receiver(e.g., wearable device 100) can use the RSSI to estimate the distance tothe transmitter (e.g., host device 102). Other wireless communicationprotocols can provide similar techniques, and other techniques can alsobe used. In some instances, either of host device 102 or wearable device100 can perform the distance estimation and determine whether the otherof wearable device 100 or host device 102 is in close proximity at anygiven time, and either device can communicate its determination to theother.

At block 1704, wearable device 100 can determine whether it is currentlypaired with close-proximity host device 102. In some embodiments, if thedevices are not paired, then at block 1706, a pairing process can beinvoked. As described above, in some embodiments, establishing aninitial pairing may involve user interaction with one or both devices toconfirm that the pairing should be established. Once the initial pairingis established, the two devices can automatically reconnect to eachother (without further user intervention) any time they come withincommunication range and are operating their respective RF transceivers.

Assuming the devices are paired, at block 1708, wearable device 100 canreceive a notification of a sign-in event from host device 102. Asign-in event can correspond to any occurrence detected by host device102 that corresponds to the user unlocking host device 102. For example,host device 102 can notify wearable device 100 of a sign-in event when auser enters a correct passcode (or other credential) to unlock hostdevice 102.

At block 1710, in response to receiving the notification, wearabledevice 100 can determine whether it is in a trusted state. As usedherein, a “trusted” state refers to a state in which a sufficientlikelihood exists that wearable device 100 is being worn by the sameuser who is operating host device 102, and in various embodiments,different criteria can be used to determine whether this sufficientlikelihood exists. In some embodiments, for instance, wearable device100 is determined to be in a trusted state if the two followingconditions are met: (a) wearable device 100 is currently being worn; and(b) wearable device 100 is in close proximity (as defined above) to hostdevice 102 at a time correlated with the sign-in event. Whethercondition (a) is satisfied can be determined, for example, based onstrap sensors 216 of FIG. 2 and/or other biometric or physiologicalsensors. Whether condition (b) is satisfied can be determined, forexample, by checking the estimated distance at a time close in time(e.g., within a few microseconds) of receiving the sign-in notificationat block 1708. In some embodiments, other conditions can also be appliedin addition to or instead of conditions (a) and/or (b). For example, auser identifier (“user ID” or just “ID”) can be assigned to wearabledevice 100 (some techniques for assigning a user ID are describedbelow), and the sign-in event notification can include a user ID of theuser who signed into host device 102; accordingly, wearable device 102can compare its assigned user ID with the received user ID and canrequire that the user IDs match as a further condition on being in atrusted state.

At block 1710, if wearable device 100 is not in a trusted state, then atblock 1712, wearable device 100 can interoperate with host device 102 inan unverified session. Such operation can include initiating and/orreceiving communications (e.g., as described above), controlling hostdevice functionality via wearable device 100, and so on. In someembodiments, some functions of host device 102 may not be accessible towearable device 100 while in an unverified session. For example,wearable device 100 may be usable to respond to a received communication(e.g., using processes 400 and 800 described above) but not to initiatea communication (e.g., using processes 900 and 1400 described above).

If, however, at block 1710, wearable device 100 is in a trusted state,then at block 1714, wearable device 100 can establish a session key anda verified session with host device 102. The session key can incorporatea shared secret (i.e., any information item that is known to wearabledevice 100 and host device 102 but not generally known or readilydetermined by other devices) and can be, e.g., a two-factorcryptographic key. Standard cryptographic key-agreement protocols orother protocols for establishing a shared secret can be used. Thesession key can be usable to encrypt messages sent between host device102 and wearable device 100, either directly or by using the session keyto generate message keys. Particular algorithms and cryptographicschemes can be selected, e.g., based on the level of security desired.In some embodiments, establishing the session key and verified sessioncan include sending various communications between host device 102 andwearable device 100, e.g., to confirm that a verified session has beenestablished at each side and/or to test the session key.

Once a session key is established at block 1714, wearable device 100 canoperate in a verified session with host device 102. Referring to FIG.18, process 1800 can be a continuation of process 1700 and illustratescertain aspects of wearable device operation in a verified sessionaccording to an embodiment of the present invention.

At block 1802, wearable device 100 can interoperate with host device 102in a verified session. The verified session can be established, e.g., inaccordance with process 1700. In some embodiments, wearable device 100can access host device functionality in a verified session that is notaccessible in an unverified session. For example, initiating a phonecall, text message, or other communication (e.g., as described above)may be permitted only in a verified session. As another example, in someembodiments, host device 102 can bypass a sign-in procedure whentransitioning from a locked state to an unlocked state if a verifiedsession is in progress.

During a verified session, the session key can be (but need not be) usedto encrypt communications between wearable device 100 and host device102; some, all, or none of the communications can be encrypted.Encryption can be selective, e.g., based on the sensitivity of the databeing communicated.

The verified session can last until a terminating event occurs. Forexample, the session can be terminated if communication with host device102 is interrupted or lost. This can occur, for example, if host device102 (or its RF antenna) is powered down, if the RF antenna of wearabledevice 100 is powered down, or if host device 102 moves out of range ofcommunication with wearable device 100 (e.g., a distance beyond about 10meters for Bluetooth). Accordingly, while the verified session is inprogress, at block 1804, wearable device 100 can periodically determinewhether host device 102 is still present. For example, wearable device100 can listen for a “heartbeat” or other periodic signal indicating thecontinued presence of host device 102, or wearable device 100 can pinghost device 102 and listen for a response. Communication of information(e.g., an event notification) from host device 102 that is received bywearable device 100 can also serve as confirmation that host device 102is still present. If contact with host device 102 is lost, then at block1806, wearable device 100 can end the verified session.

As another example, in some embodiments, a verified session can be endedif wearable device 100 ceases to be worn by the user (also referred toas being “taken off”). Accordingly, if host device 102 remains incommunication at block 1804, then at block 1808 wearable device 100 candetermine if the user has taken off wearable device 100. For example,strap sensors 216 of FIG. 2 or other biometric sensors of wearabledevice 100 can be configured to generate an interrupt or othernotification to processing subsystem 202 in the event that a changeoccurs indicating that the user has removed wearable device 100.Examples can include clasp sensors 250 detecting that clasp members 108a, 108 b have become disengaged; contact sensor 252 detecting a loss ofpressure or galvanic skin response; or pulse sensors, skin temperaturesensors, and/or other biometric sensors detecting cessation of biometricactivity. Any combination of sensor signals can be used to detectwearable device 100 being taken off. If wearable device 100 is takenoff, the verified session can end at block 1806.

Ending the verified session at block 1806 can include various actions,such as updating state information of wearable device 100 to indicatethat it is not in a verified session, destroying or invalidating thesession key, and/or sending a notification to host device 102 to reportthat wearable device 100 has ended the verified session. After endingthe verified session, wearable device 100 can continue to communicatewith host device 102 (in an unverified session), and a new verifiedsession can subsequently be established (e.g., by performing process1700 of FIG. 17).

Assuming no event that ends the verified session has occurred, theverified session can continue. From time to time, at block 1810, hostdevice 102 can request a session confirmation from wearable device 102.For instance, as described below, user access to some features and/orfunctionalities of host device 102 may depend on whether a verifiedsession has been established. Accordingly, when a user attempts toaccess such features or functionalities, host device 102 can confirmthat the verified session is still in progress as a condition ofpermitting the attempted access. To obtain confirmation, host device 102can send a session confirmation request to wearable device 100, andwearable device 100 can receive the request at block 1810.

At block 1812, in response to a request for session confirmation,wearable device 100 can generate and send a response. The response canbe based at least in part on the session key. For example, host device102 can send a request for session confirmation that includes a randomnonce. Wearable device 100 can encrypt the random nonce based on thesession key (or a message key derived from the session key) and includethe encrypted random nonce in its response. As described below, hostdevice 102 can use the encrypted random nonce and its own session key tovalidate the response.

In some embodiments, host device 102 can use the existence of a verifiedsession as a security measure, which can supplement and/or substitutefor other security measures provided by host device 102. For example,once a verified session has been established based on a user signing into unlock host device 102, host device 102 can bypass a requirement forsigning in during subsequent unlocking events. FIGS. 19 and 20 are flowdiagrams of processes that can be executed by a host device, e.g., hostdevice 102 of FIG. 1, communicating with a wearable device, e.g.,wearable device 100 of FIG. 1. FIG. 19 illustrates a process 1900 forestablishing a verified session according to an embodiment of thepresent invention, and FIG. 20 illustrates a process 2000 for unlockinga host device during a verified session according to an embodiment ofthe present invention. In some embodiments, the implementation ofprocesses 1900 and 2000 can include program code executed by a processorof host device 102.

Referring to FIG. 19, process 1900 can begin at block 1902, where hostdevice 102 can pair with wearable device 100. The pairing process can besimilar to processes described above. At block 1904, host device 102 candetect a sign-in event. For example, a user may turn on a display orother interface of host device 102, which can trigger host device 102 topresent a sign-in prompt, e.g., prompting the user to enter a passcode,and the user can respond to the prompt. e.g., by entering the passcode.A successful response by the user can generate a sign-in event, ant atblock 1906, host device 102 can enter an unlocked state.

At block 1908, host device 102 can determine whether wearable device 100is in a trusted state. The determination can be based on criteriadescribed above (or other criteria), and the criteria can be tested byhost device 102 and/or wearable device 100. For example, host device 102can determine whether wearable device 100 is in close proximity, e.g.,using RSSI as described above. Host device 102 might not be able todetermine directly whether wearable device 100 is being worn; in someembodiments, host device 102 can query wearable device 100 as to whetherit is being worn, while in other embodiments, host device 102 can inferwhether wearable device 100 is being worn based on subsequent responsesfrom wearable device 100.

If wearable device 100 is determined to be in the trusted state, then atblock 1910, host device 102 can send a notification of the sign-in eventto wearable device 100. (This can be the notification received at block1708 of process 1700 described above.) At block 1912, host device 102can establish a session key and a verified session with wearable device100. The session key can be identical or complementary to the sessionkey established by wearable device 100 at block 1714 of process 1700,and the same cryptographic or other techniques can be implemented onboth devices. In some embodiments, establishing the session key caninclude sending various communications between host device 102 andwearable device 100. e.g., to confirm that a verified session has beenestablished at each side. In some embodiments, if wearable device 100 isnot being worn or otherwise detects that criteria for being in a trustedstate are not currently met, wearable device 100 can decline toestablish the verified session.

At block 1914, host device 102 can interact with the user within theverified session. In some instances, interaction with the user can alsoinclude interaction with wearable device 102, e.g., to send or receivephone calls and/or other communications as described above. As notedabove, in some embodiments, host device 102 can selectively allow theuser to access certain functionality based on the verified session, andhost device 102 can send session confirmation requests to wearabledevice 100 at any time. The session key can be (but need not be) used toencrypt communications that may occur between host device 102 andwearable device 100; some, all, or none of the communications can beencrypted. Encryption can be selective, e.g., based on the sensitivityof the data being communicated.

At block 1916, host device 102 can enter a locked state. For example,host device 102 can be programmed or otherwise configured toautomatically enter the locked state after a specified period ofinactivity (e.g., 1 minute, 2 minutes, 5 minutes, 30 minutes, etc.). Asanother example, a user may be able to place host device 102 into thelocked state. e.g., by operating a lock control. In some embodiments,entering the locked state can include turning off a display deviceand/or powering down other components.

Entering the locked state at block 1916 does not necessarily terminatethe verified session. For example, if host device 102 remains incommunication with wearable device 100 and wearable device 100 continuesto be worn, the verified session can continue. The continuance of theverified session after locking of host device 102 can facilitate furtheruser operation of host device 102, e.g., by allowing the user to bypassthe sign-on process when unlocking host device 102.

Referring to FIG. 20, process 2000, which can be a continuation ofprocess 1900, illustrates certain aspects of host device operation in averified session according to an embodiment of the present invention.

A locked host device 102 can detect a triggering event for an unlockingoperation at block 2002. For example, a user may pick up host device 102or press a button indicating a desire to resume use. At block 2004, hostdevice 102 can determine whether wearable device 100 is currently inclose proximity to host device 102. Close proximity can be determinedusing the same techniques and definitions described above. In theprocess as shown in FIG. 20, lack of close proximity at block 2004 doesnot end the verified session; however, in some embodiments, the verifiedsession can end.

At block 2006, host device 102 can determine whether a verified sessionis currently established with wearable device 100 that is in closeproximity. For example, host device 102 can determine whether it has avalid session key and/or state information indicating that a verifiedsession is currently established. If not, then host device 102 candetermine that a verified session is not currently established. Asanother example, if host device 102 is in a verified session state butcommunication with wearable device 100 has been interrupted or lost,host device 102 can determine that a verified session is not currentlyestablished. As yet another example, if wearable device 100 has sent anotification that a verified session has ended, host device 102 candetermine that a verified session is not currently established.

If wearable device 100 is not in close proximity (at block 2004) or if averified session is not currently established (at block 2006), then atblock 2008, host device 102 can prompt the user to provide a passcode orother sign-in credentials. At block 2010, if the user provides validcredentials, host device 102 can enter the unlocked state at block 2012.If the user does not provide valid credentials, process 2000 can returnto block 2008 to prompt the user to retry. In some embodiments, thenumber of retries can be limited to prevent device tampering, andprocess 2000 can exit if the user repeatedly fails to provide validcredentials at block 2010. (Other consequences, such as erasing datafrom host device 102, can also ensue.)

It should be noted that if wearable device 100 is in close proximitywhen the user enters valid credentials at block 2010, this can result inestablishing a new verified session, e.g., in accordance with process1900 described above.

If, at block 2006, a verified session is in progress, prompting the userfor sign-in credentials can be bypassed. For example, at block 2014,host device 102 can request a session confirmation from wearable device100. For example, host device 102 can send a request for sessionconfirmation that includes a random nonce. At block 2016, host device102 can receive a response from wearable device 100. For example,wearable device 100 can encrypt the random nonce based on the sessionkey (or a message key derived from the session key) and include theencrypted random nonce in its response. At block 2018, host device 102can determine whether the response is valid. For example, host device102 can use the encrypted random nonce and its own session key tovalidate the response.

If the response is valid, then at block 2012, host device 102 can enterthe unlocked state, without prompting the user for sign-in credentials.In some embodiments, host device 102 can provide an indication to theuser that the normal sign-in process is being bypassed due to thepresence of wearable device 100, e.g., by briefly displaying an iconrepresenting wearable device 100 or by providing a substitute prompt,such as a prompt inviting the user to operate a touchscreen control tobegin using host device 102 rather than prompting the user to enter asign-in credential.

If, at block 2018, the response is not valid, then at block 2020, hostdevice 102 can end the verified session. Ending the verified session atblock 2020 can include various actions, e.g., updating state informationof host device 102 to indicate that it is not in a verified session,destroying or invalidating the session key, and/or sending anotification to wearable device 100 to report that host device 102 hasended the verified session. After ending the verified session, hostdevice 102 can continue to communicate with wearable device 100 (in anunverified session), and a new verified session can subsequently beestablished.

After ending the verified session at block 2020, host device 102 canprompt the user to provide sign-in credentials at block 2008. As notedabove, in some instances, this can result in establishing a new verifiedsession.

It will be appreciated that the verified-session processes describedabove are illustrative and that variations and modifications arepossible. Steps described as sequential may be executed in parallel,order of steps may be varied, and steps may be modified, combined, addedor omitted. For instance, ending a session can be driven by interruptswhen session-ending conditions are detected by either device, and eitherdevice can send a notification to the other if a session-ending eventoccurs. In some embodiments, either device (or both devices) can alsoalert the user to the establishment and/or ending of a verified session.

Session confirmation requests from a host device can be sent at anytime. If a wearable device receives a session confirmation request whena verified session is not in progress (either before any verifiedsession has been established or after the most recent verified sessionhas been terminated), the wearable device can return a responseindicating that no verified session exists, and the host device canproceed accordingly.

In some embodiments, a wearable device can send context informationalong with a response to a session confirmation request. This contextinformation can include any information the wearable device has that isindicative of user activity or otherwise suggestive of the user's likelyintent in operating the host device at that particular time. The hostdevice can use the context information in its interaction with the user,e.g., to present information and/or interfaces that correspond to a userintent inferred from the context information (and in some instancesother information available to host device 102). For example, asdescribed above with reference to FIGS. 4-8, wearable device 100 canreceive a notification of an incoming text message and present an alertto the user. If, rather than responding via wearable device 100, theuser picks up host device 102 and triggers an unlock event, host device102 can obtain the context information—in this case that wearable device100 presented an incoming-text alert to which the user has notresponded—and can proceed accordingly, e.g., by unlocking andimmediately launching a text messaging app, based on an inference thatthe user most likely wants to read and/or respond to the received textmessage. Other examples of context information can include alertsregarding missed calls, voice mail messages received, stock marketalerts, and so on. In some embodiments, context information is sent onlyif host device 102 and wearable device 100 are in close proximity whenthe request for session confirmation is sent.

In some embodiments described above, bringing host device 102 andwearable device 100 into close proximity (e.g., within 30 or 60centimeters of each other) is a prerequisite for establishing a verifiedsession; however, once the verified session is established, continuedclose proximity is not required as long as the devices remain incommunication with each other. This can allow a user to establish averified session, then put down the host device and do other activities(e.g., moving around a room where the host device is present) withoutending the verified session. In other embodiments, other proximitycriteria can be used. For example, requiring continuous close proximityto maintain a verified session can provide a higher degree of security.As another example, establishing a verified session need not requireclose proximity. All distance and proximity criteria described hereincan be modified as desired, and different proximity criteria can beestablished for different actions. For instance, proximity criteria forestablishing a verified session and subsequently allowing bypass of asign-in operation can be based on different threshold distances.

A verified session can last indefinitely, until a terminating eventoccurs. Terminating events can be defined as desired and are not limitedto the examples described above. In some embodiments, a verified sessioncan have a maximum duration (e.g., four, eight, twelve, or twenty-fourhours) after which it automatically ends, and a new sign-in event can berequired to establish a new verified session. Powering down wearabledevice 100, host device 102, or various components thereof can alsoterminate a verified session.

A further understanding of verified sessions can be had with referenceto the state diagrams in FIGS. 21 and 22. FIG. 21 shows a simplifiedstate diagram for a host device according to an embodiment of thepresent invention. The states and transitions shown relate to verifiedsessions and locking and unlocking the device. These states can occur,e.g., during the course of executing processes 1900 and 2000 describedabove.

For example, a host device, e.g., host device 102, can initially be in alocked/unverified state 2102. In this state, host device 102 is locked,and some or all functionality is not accessible without entry of usercredentials. Further, “unverified” signifies that a verified sessionwith a wearable device 100 is not currently established.

Host device 102 can transition from locked/unverified state 2102 tosign-in state 2104 in response to an unlock trigger event 2106. Variousevents can serve as unlock triggers. For example, if a display of hostdevice 102 is turned off, user operation of a button or other controlthat turns on the display can be an unlock trigger. In some embodimentswhere host device 102 is equipped with motion sensors, certain motionsof host device 102 (e.g., corresponding to a user picking up host device102) can be interpreted as unlock triggers. Other examples include adevice being plugged into or otherwise physically connected to hostdevice 102, an increase in light level at a light sensor of host device102, etc. In sign-in state 2104, host device 102 can prompt a user forsign-in credentials.

In response to successful sign-in (event 2106), host device 102 cantransition to unlocked/unverified state 2108. In this state, host device102 is unlocked and at least some of its functions are accessible to auser, but a verified session with a wearable device is not currentlyestablished. An idle/lock event 2110 can occur, e.g., if user activityceases for a predefined time interval, or if the user actively lockshost device 102. In response to idle/lock event 2110, host device 102can transition back to locked/unverified state 2102.

If wearable device 100 is in a trusted state (e.g., based on closeproximity and/or other criteria) when host device 102 entersunlocked/unverified state 2108, host device 102 and wearable device 100can establish a verified session, e.g., as described above. Successfullyestablishing the verified session (event 2112) allows host device 102 totransition to unlocked/verified state 2114.

From unlocked/verified state 2114, an idle/lock event 2116 (which can bepredicated on any of the same occurrences as event 2110) allows hostdevice 102 to transition to locked/verified state 2118 rather than backto locked/unverified state 2102.

While host device 102 is in locked/verified state 2114, an unlocktrigger event 2120 can occur. Any event that can serve as unlock triggerevent 2106 can serve as unlock trigger event 2120. However, instead oftransitioning to sign-in state 2104, a host device 102 that is inlocked/verified state 2114 can transition to confirming state 2122. Inthis state, host device 102 can send a session confirmation request towearable device 102 and receive a response, e.g., as described above. Ifthe response is valid, confirmation success event 2124 allows hostdevice 102 to transition back to unlocked/verified state 2114. If theresponse is not valid, confirmation fail event 2126 allows host device102 to transition back to sign-in state 2104.

In some embodiments, a verified session can end while host device 102 isin locked/verified state 2118. For example, host device 102 can receivea notification from wearable device 100 that the session has ended(e.g., because the user has taken offwearable device 100), contact withwearable device 100 can be lost (e.g., due to wearable device 100 movingout of communication range), or host device 102 can determine that theverified session has expired (e.g., based on a predefined limit onsession duration as described above). When a verified session ends whilehost device 102 is in locked/verified state 2118, session end event 2128can cause a transition to locked/unverified state 2102.

Turning to the wearable device. FIG. 22 shows a simplified state diagramfor a wearable device according to an embodiment of the presentinvention. The states and transitions shown relate to verified sessionsbetween a wearable device and a host device. These states can occur.e.g., during the course of executing processes 1700 and 1800 describedabove.

For example, a wearable device, e.g., wearable device 100, can initiallybe in unworn/unconnected state 2202. In this state, wearable device 100is not being worn by a user (e.g., as determined from strap sensors 216of FIG. 2 or other biometric sensors) and is also not connected to(e.g., paired and/or communicating with) any host device.

From unworn/unconnected state 2202, wearable device 100 can transitionto either worn/unconnected state 2204 or unworn/connected state 2206.Transition to worn/unconnected state 2204 can occur if wearable device100 detects that the user has put it on (event 2208), and transition tounworn/connected state 2206 can occur if wearable device 100 establishescommunication (e.g., initial pairing or re-establishing a previouspairing) with a host device, e.g., host device 102 (event 2210). Thesetransitions can reversible. As shown, a take-off event 2212 (which caninclude, e.g., sensor signals indicating the user has removed wearabledevice 100) can return wearable device 100 from worn/unconnected state2204 to unworn/unconnected state 2202, and host-disconnect event 2214(which can include, e.g., host device 102 moving out of range) canreturn wearable device 100 from unworn/connected state 2206 tounworn/unconnected state 2202

Alternatively, a wearable device that is worn but unconnected (state2204) can become connected to a host in host connection event 2216(which can be any of the same events as event 2210), and a wearabledevice that is connected but unworn (state 2206) can become worn inresponse to a put-on event 2218 (which can be any of the same events asevent 2208). These transitions can also be reversible via events 2217and 2219. Thus, there are multiple paths by which wearable device 100can reach a worn/connected state 2220, in which wearable device 100 isboth being worn by a user and in communication with a host device. Insome embodiments, a put-on event can occur simultaneously with ahost-connect event, and a direct transition (not shown) from state 2202to 2204 can occur, this transition can also be reversible.

When wearable device 100 is in worn/connected state 2220, it candetermine whether it is in close proximity to the host device (e.g.,host device 102) with which it is in communication. Detection of closeproximity (event 222) can allow wearable device 100 to transition totrusted state 2224. This can be, e.g., the trusted state described abovewith reference to FIGS. 17-20. While in trusted state 2224, wearabledevice 100 can detect a session start event 2226, e.g., establishing asession key as described above, and can transition to verified state2228. In verified state 2226, wearable device 100 can receive andrespond to requests for session confirmation from host device 102. Oncein verified state 2228, wearable device 100 can remain thereindefinitely, irrespective of state transitions that may be occurring inhost device 102, such as transitions between unlocked/verified state2114 and locked/verified state 2116 shown in FIG. 21.

In some embodiments, wearable device 100 can leave verified state 2228in response to a take-off event 2230 (which can be any of the sameevents as event 2212) or to a host-disconnect event 2232 (which can beany of the same events as event 2214). Take-off event 2230 can lead to atransition to unworn/connected state 2206, and host-disconnect event2232 can lead to a transition to worn/unconnected state 2204. In someembodiments, a take-off event can occur simultaneously with ahost-disconnect event, and a direct transition from state 2228 to 2202can occur.

Other events (not shown) can also cause wearable device 100 to exitverified state 2228 and return to a different state. For example,powering down wearable device 100 (or just powering down acommunications interface) can cause a transition. As described above, insome embodiments, a verified session can expire after a predefinedmaximum duration, and expiration of the verified session can cause atransition from verified state 2228 to another state, e.g.,worn/connected state 2220 (if wearable device 100 and host 102 remain incommunication) or trusted state 2224 (if wearable device 100 and host102 are in communication and in close proximity when the verifiedsession expires).

It will be appreciated that the state diagrams of FIGS. 21 and 22 areillustrative and that variations and modifications are possible. Forinstance, the diagrams are not intended to illustrate all possiblestates or transitions between states, and a particular implementationcan involve more states, fewer states, or a different combination ofstates from those shown. It is to be understood that operations ofvarious kinds can occur within a device or between the devices withoutcausing a state transition between states that are shown. For example,host device 102 can receive a phone call and the user can interact withwearable device 100 to respond to the call without either devicechanging between the states shown, although those skilled in the artwill recognize that other aspects of device state may change.

As described above, a wearable device such as wearable device 100 candetermine whether it is being worn and can detect being put on or takenoff, e.g., by using various sensors. In some embodiments, a wearabledevice can also become assigned to a specific user (or user identifier).Being assigned to a specific user can allow the wearable device tocustomize itself according to the user's preferences. Further, in someembodiments, matching a user ID assigned to a wearable device with auser ID assigned to a host device can further improve security of averified session.

A user ID can be assigned to a wearable device in various ways. Forexample, in some embodiments, a user can push a user ID from a hostdevice to a wearable device during a synchronization operation (examplesof which are described above). Along with the user ID, the user can pusha user profile that can define various preferences (e.g., color schemesor other esthetic preferences, predefined messages that can be sent asdescribed above, options such as when to generate alerts and what typeof alert to generate, etc.). In some embodiments, a synchronizationoperation that pushes a user ID may be restricted to occurring only whena verified session has been established between the wearable device andthe host device. The user may also be able to set a passcode (or someother access credential) on the wearable device that prevents changes tothe user ID or profile from being made by a host device unless the userconfirms by entering the passcode via an interface of the wearabledevice. It is contemplated that a wearable device can but need notrequire a passcode for operation, and the wearable device can beselective as to which operations require a passcode. Thus, in someembodiments, a wearable-device passcode can be required only for certainoperations designated as sensitive, such as changing a user ID or userprofile. (In other embodiments, a wearable-device passcode can berequired for any operation, and in still other embodiments, awearable-device passcode can be omitted entirely.)

In some embodiments, establishing a verified session between a hostdevice and a wearable device can facilitate establishing a user ID forthe wearable device. FIG. 23 is a flow diagram of a process 2300 forestablishing a verified session and a user ID according to an embodimentof the present invention. Process 2300 can be executed by a wearabledevice, e.g., wearable device 100 of FIG. 1, communicating with a hostdevice, e.g., host device 102 of FIG. 1. In some embodiments, theimplementation of process 2300 can include program code executed by aprocessor of wearable device 100 (e.g., as part of host security program260 of FIG. 2), and in some embodiments, process 2300 can be implementedas an extension of processes 1700 and 1800 described above; forinstance, node A in FIG. 17 can correspond to node A in FIG. 23.

Process 2300 can begin after a verified session has been established(e.g., at block 1714 of process 1700). At block 2302, wearable device100 can determine whether it already has an assigned user ID. If so,wearable device 100 can keep its assigned user ID and interoperate withhost device 102 in a verified session at block 2304, which cancorrespond to block 1802 of process 1800; from this point, process 1800can continue as described above.

If, at block 2302, wearable device 100 does not have an assigned userID, then at block 2306, wearable device 100 can request a user ID fromhost device 102. At block 2308, wearable device 100 can receive a userID from host device 102. As described below, in some embodiments hostdevice 102 can confirm with the user that the ID should be sent beforeresponding to the request. Host device 100 can send the user ID, e.g.,in a message encrypted using the session key (or a message key derivedfrom the session key). At block 2310, wearable device 100 can establishthe received user ID as its assigned user ID. This can be done withoutuser intervention; alternatively, wearable device 100 can prompt theuser to confirm that the user ID should be assigned. In someembodiments, wearable device 100 can use the newly assigned user ID toretrieve a user profile (e.g., from locally stored user data 262 of FIG.2 or by further requests to host device 102) and can apply variouscustomizations and settings based on the retrieved profile.

Once a user ID is assigned, wearable device 100 can interoperate withhost device 102 in a verified session at block 2304. In someembodiments, host device 102 can have the option to refuse to send auser ID, in which case, block 310 can be skipped.

As noted above, a host device can receive and respond to a wearabledevice's request for a user ID to be assigned. FIG. 24 is a flow diagramof a process 2400 that can be executed by a host device, e.g., hostdevice 102 of FIG. 1, communicating with a wearable device, e.g.,wearable device 102 of FIG. 1. In some embodiments, the implementationof process 2400 can include program code executed by a processor of hostdevice 102; process 2400 can be implemented, for example, as anextension to process 1900 of FIG. 19.

At block 2402, host device 102 can establish a verified session withwearable device 100. For example, host device 102 can execute some orall of blocks 1900-1912 of process 1900. At block 2404, host device 102can receive a request from wearable device 100 for a user ID to beassigned to wearable device 100.

At block 2406, before responding to wearable device 100, host device 102can confirm that the verified session is still in progress. Confirmationcan include, e.g., sending a session confirmation request to wearabledevice 100 as described above and/or verifying that no interruption incommunication with wearable device 100 has occurred. Host device 102 canalso implement additional conditions on its response, such as verifyingthat wearable device 100 is in close proximity before responding to therequest. In some embodiments, if the request at block 2404 is receivedwithin a predefined interval (e.g., 100 microseconds) of establishingthe verified session, host device 102 can treat the session asconfirmed. As another example, host device 102 can require that anyrequest to assign a user ID be received within a predefined timeinterval (e.g., 100 microseconds or 5 seconds) of establishing averified session and can refuse any request that arrives outside thisinterval regardless of the current status of the session.

If the decision at block 2406 is negative, then host device 102 canignore the request and continue to interact with the user at block 2408(e.g., similarly to block 1914 of FIG. 19). Where a verified session isnot in progress, host device 102 can also interoperate with wearabledevice 100 in an unverified state as described above. In someembodiments, instead of simply ignoring the message, host device 102 canreturn a refusal message that can indicate that a user ID will not beprovided; the refusal message can also include a status code indicatingthe basis for the refusal.

If, at block 2406, the decision is positive, then at block 2410, hostdevice 102 can prompt the user to confirm that the user ID should besent to the wearable device. Host device 102 can select a user ID tosend, e.g., based on the user ID that is currently signed in to orotherwise associated with host device 102. For example, a host devicethat is a mobile phone may have a single user ID associated with it andcan select that user ID. A host device that is a desktop computer mayhave multiple user IDs associated with it (e.g., for different familymembers) and can select the ID based on which user is currently loggedin. The user ID can be an ID associated with the user's account on thehost device itself or an ID associated with the user's account on adifferent service such as a cloud-based information storage andretrieval system.

The user confirmation can be a simple yes/no option, or additionaloptions such as selecting a different user ID or defining a new user IDcan be presented. In some embodiments where the user ID that the hostdevice proposes to send is associated with a password, passcode, orother identification credential, the host device can prompt the user toprovide that credential as part of the confirmation.

FIG. 25 illustrates an example of a confirmation interface screen 2500according to an embodiment of the present invention. Interface screen2500 can present a description 2502 of the proposed transaction (sendinga specific user ID to a specific wearable device), a confirmation button2504, and a cancel button 2506. In some embodiments, screen 2500 canalso include a password entry section 2508, and the user can be requiredto enter a password associated with the user ID specified in description2502 to provide further confirmation that the user of host device 102 isauthorized to use the ID that is to be sent. Other screens can also beused.

Referring again to FIG. 24, host device 102 can receive the user'sconfirmation decision at block 2412. If the user confirms, then at block2414, host device 102 can send the selected user ID to wearable device100. The ID can be sent, e.g., in a message encrypted using the sessionkey of the verified session (or a message key based on the session key).If the user does not confirm at block 2412, then at block 2416, hostdevice 102 can send a refusal message to wearable device 100 indicatingthat a user ID is not being provided. In either case, host device 102can continue interacting with the user at block 2408. Where a verifiedsession is not in progress, host device 102 can also interoperate withwearable device 100 in an unverified state as described above.

It will be appreciated that the processes for assigning a user IDdescribed above are illustrative and that variations and modificationsare possible. Steps described as sequential may be executed in parallel,order of steps may be varied, and steps may be modified, combined, addedor omitted. Assignment of a user ID by a host device in response to arequest from a wearable device can be subject to a variety ofconditions, including but not limited to those described above (verifiedsession, close proximity, time-based constraints, etc.). The amount andkind of user interaction can also be varied. For example, in someembodiments, assignment of a user ID can be accomplished without userintervention; in some embodiments, a wearable device may request a userID in response to an input from the user (e.g., the wearable device mayprompt the user to indicate whether the wearable device should attemptto obtain an ID when it connects to a host device). In some embodiments,user interactions with both the host device and the wearable device canbe required, e.g., in order to further increase the difficulty ofspoofing a legitimate request.

In some embodiments, wearable device 100 can incorporate its assigneduser ID into responses to session confirmation messages. This canprovide an additional confirmation to host device 102 that the user ispresent. For example, if wearable device 100 has a user ID that hostdevice 102 is not expecting, host device 102 can go into locked state ortake other actions to prevent unauthorized use.

In some embodiments, a user ID assigned to wearable device 100 can be apersistent property; for example, wearable device 100 can maintain itsuser ID even after termination of the verified session in which the IDwas assigned. If desired, the assignment can be permanent, e.g.,retained until a hard reset of wearable device 100 (e.g., restoringfactory settings). In other embodiments, a user interface can beprovided on wearable device 100 and/or a host device that allows a userto change or clear the assigned user ID, or the assigned user ID can beautomatically cleared in response to events such as the user taking offwearable device 100. An assigned ID that has been cleared can bere-established. e.g., by executing processes 2300 and 2400 again.

It is to be understood that clearing an assigned user ID signifies onlythat the wearable device no longer has a current assigned user ID. Forexample, the wearable device can continue to store user profileinformation for that user ID even after it ceases to be the currentlyassigned ID, although it may discontinue using the user profileinformation as input to operations. Thus, for example, a particularuser's contacts, customized text responses, or the like may only beaccessible while the wearable device has that user's ID as its assignedID; at other times they can be stored on the wearable device but notaccessible to the user.

Embodiments described above can facilitate user interaction with a hostdevice, e.g., by allowing the host device to bypass a sign-in processwhen a verified wearable device is present. This can reduce the user'sneed to repeatedly enter a passcode or other sign-in credential into thesame host device. Operation of a wearable device can also befacilitated, e.g., by allowing the user to establish an identity on thewearable device via a host device and to transfer or synchronizepersonal settings between the host device and the wearable device.

In some embodiments, defining a pairing (e.g., via Bluetooth pairing oranother process) between the host device and the wearable device can bea prerequisite of establishing a verified session. Defining a pairingcan refer to any process by which a user indicates to two devices thatthey should recognize and communicate with each other. In someinstances, a pairing can be defined by executing a device discoveryprocess on one device (e.g., the host device) that allows the hostdevice to obtain information about any other wireless devices thathappen to be within communication range. The host device can present alist of discovered devices, and the user can select the wearable deviceas the device to be paired. The host device and wearable device canexchange various information to define the pairing (e.g., device names,MAC addresses or other unique identifiers, security codes, and any otherinformation that may be used to establish an operating communicationlink between the devices). Once the pairing is defined, the host deviceand wearable device can automatically re-establish communicationwhenever each device detects the other within its communication range.Where verified sessions are limited to devices that have a pairingdefined, inadvertent creation of verified sessions of one user's hostdevice with another user's wearable device can become less likely. Asnoted above, in some embodiments, when a host device and a wearabledevice detect are in proximity but not paired, a pairing process can beinvoked, and this can include prompting the user to indicate whether thepairing should be defined or not.

In some embodiments, a user or administrator of a particular host devicemay have the option to disable bypassing of the sign-in procedure or toselect conditions under which bypassing should be allowed. For example,the user or administrator can set distance thresholds for determiningclose proximity, limits on how far out of close proximity a host deviceand wearable device can be without ending the verified session, timelimits on verified sessions, and so on, limiting the establishment of averified session to instances where the wearable device already has anassigned user ID (which can be required to be assigned through aseparate process such as direct user input into the wearable device or asynchronization operation with a trusted host or the like), and so on.

Certain embodiments of the present invention relate to using a wearabledevice to facilitate a purchase transaction with a point-of-saleterminal in a store. In some embodiments, the wearable device canfacilitate creation of a purchase order. For example, a user can operatea camera, near-field communication (“NFC”) transceiver, or other inputdevices of a wearable device to obtain product information, e.g., byreading a quick response (“QR”) code, bar code, radio-frequencyidentification (“RFID”) tag, or other information source that may belocated on or otherwise associated with the product. The productinformation can include an identifier of the product (e.g., astock-keeping unit (“SKU”) number, a universal product code (“UPC”), orthe like), and other information such as a name and/or price of theproduct. As the user selects products to purchase, the user can operatethe wearable device to add each product to a purchase order. Afterselecting one or more desired products, the user can proceed to apoint-of-sale (“POS”) terminal located somewhere in the store. Thewearable device can establish communication with the POS terminal, e.g.,using an NFC transceiver. The wearable device can provide the purchaseorder to the POS terminal, which can determine a final price for thetransaction (e.g., after applicable taxes and discounts). The POSterminal can also use information from the purchase order for otherpurposes (e.g., inventory management, store security, or the like).

In some embodiments, a wearable device can also facilitate payment forproducts in a purchase transaction. For example, a user can storefinancial account identifying information (e.g., credit card or debitcard numbers and related information) in a wearable device, e.g., bytransferring the information from a host device during a verifiedsession. At a POS terminal, the user can select a financial account tobe used for a purchase transaction by interacting with the wearabledevice, and the wearable device can transmit the financial accountidentifying information to the POS terminal, e.g., using NFC. The POSterminal can send a transaction request to a payment processorassociated with the financial account (the payment processor can be,e.g., a server maintained by a financial institution and accessible viaa network) and receive a response, e.g., an approval of the transaction.

In some embodiments, a host device that is paired with the wearabledevice can also participate in the purchase transaction. For example, awearable device at the POS terminal can communicate with a host device(e.g., in a verified session) to obtain financial account identifyinginformation in real time. As another example, the host device cancommunicate with the payment processor to verify the transactionrequest.

To facilitate payment transactions, a user can store account identifyinginformation (also referred to as an “account identifier” or “accountID”) in a wearable device such as wearable device 100 of FIG. 1. Somewearable devices can provide a user interface operable to enter accountidentifiers directly into the wearable device. However, for wearabledevices with a small form factor, a user may find it more convenient toprovide the data via a host device such as host device 102. Host device102 can obtain the account identifiers via direct user input or bycommunicating securely with a data source (e.g., a cloud-based personalinformation service).

To deter data theft, host device 102 and wearable device 100 can beconfigured such that account identifiers can be transferred between themonly during a verified session. A verified session can be established,e.g., in the manner described above (a user unlocking host device 102while wearing wearable device 100 in close proximity to host device102). Some embodiments may allow a user to establish a verified sessionon demand, e.g., by operating a user interface control on host device102 or wearable device 100 to initiate establishment of a verifiedsession. In some instances, the on-demand process can include userconfirmation; for example, host device 102 can prompt the user to entera passcode or other sign-in credential to establish the verified sessionwithout actually entering a locked state.

FIG. 26 is a flow diagram of a process 2600 for obtaining accountidentifiers that can be implemented in a wearable device (e.g., wearabledevice 100 of FIG. 1) according to an embodiment of the presentinvention. In some embodiments, the implementation of process 2600 caninclude program code executed by a processor of wearable device 100.

At block 2602, wearable device 100 can establish a verified session witha host device, e.g., host device 102; processes described above orsimilar processes can be used. At block 2604, wearable device 100 canobtain an assigned user ID. For example, as described above, wearabledevice 100 can request a user ID assignment from host device 102 when averified session is established. As another example, wearable device 100can obtain a user ID assignment by direct input from a user. In someinstances, wearable device 100 can already have an assigned user ID(e.g., from a previous verified session) when process 2600 begins, andblock 2604 can be skipped.

At block 2606, wearable device 100 can request account identifiers(and/or other account data) for its assigned user ID from host device102. The request can include the assigned user ID of wearable device 100and can be encrypted using the session key; host device 102 can usethese features to determine whether the requested account identifiersshould be provided. In some embodiments, wearable device 100 can sendthe request for account identifiers in response to a user instruction.For example, FIG. 27 illustrates a user interface screen 2700 that canbe used to access host functions of a host device via a wearable devicesuch as wearable device 100 according to an embodiment of the presentinvention. Interface screen 2700 can be generally similar to interfacescreen 1000 of FIG. 10 shown above and can present a menu of optionsbased on the capabilities of the host device with which wearable device100 is currently communicating. For example, if the host device hasaccount identifiers available, interface screen 2700 can include acontrol 2702 operable to request the account identifiers. This can allowthe user to control whether a wearable device has access to the user'saccount identifiers. In some embodiments, control 2702 may be availableonly when wearable device 100 is in a verified session with host device102; at other times, control 2702 can be unavailable (e.g., the virtualbutton can be omitted from the interface, or the button can be presentedwith visual indicia to indicate that it is inactive, such as being“grayed out”). Other user interfaces can also be provided.

Referring again to FIG. 26, at block 2608, wearable device 100 canreceive one or more account identifiers from host device 102. Since averified session is in progress, host device 102 can encrypt the accountidentifiers using the session key to reduce the risk of eavesdropping.

An account identifier can include any kind of information that mayassist in accessing an account (e.g., a financial account). For example,an account identifier can include a user-readable “nickname” for theaccount (e.g., “business credit card.” “personal credit card,” “debitcard,” the card issuer's name and last few digits of the account number,or anything else a user can recognize as distinguishing one account fromanother). An account identifier can also include account detailssufficient to enable purchases or other transactions to be conductedusing the account, such as the full account number and/or other accesscode that may be required to make purchases on the account, expirationdate (e.g., for a credit card account), account holder's name,identifier of an institution where the account is maintained (e.g., ACHrouting number for a financial institution), and so on. As describedbelow, in some embodiments, wearable device 100 can communicate withhost device 102 during a transaction and can use just the accountnickname; in other embodiments, wearable device 100 can store all theinformation necessary to complete a transaction.

At block 2610, wearable device 100 can store the received information ina local storage medium (e.g., as part of user data 262 of FIG. 2). Insome embodiments, wearable device 100 can store the received accountidentifiers in encrypted storage. The encryption can use a different keyfrom the session key so that wearable device 100 can continue to accesslocally stored account identifiers after the verified session ends.

To reduce the risk of unauthorized access to a user's accounts, wearabledevice 100 in some embodiments maintains account data only for as longas wearable device 100 continues to be worn by the user. Accordingly, atblock 2612, wearable device 100 can periodically determine whether ithas been removed (e.g., based on strap sensors 216 and/or otherbiometric sensors); if so, wearable device 100 can delete the user'saccount IDs (including any stored account-related data) at block 2614.In some embodiments, when a sensor of wearable device 100 detectsremoval, the sensor can generate a system-level interrupt in processingsubsystem 202. In response, processing subsystem 202 can invoke aninterrupt servicing routine that can include purging of account IDs andother sensitive user data from user data 262. The purge can extend tothe assigned user ID, or the assigned user ID can persist after wearabledevice 100 is taken off, even if some user-related data (such as accountIDs) is deleted.

A host device can respond to a request from a wearable device foraccount IDs. FIG. 28 is a flow diagram of a process 2800 for providingaccount IDs to a wearable device according to an embodiment of thepresent invention. Process 2800 can be implemented in a host device,e.g., host device 102 of FIG. 1. In some embodiments, the implementationof process 2800 can include program code executed by a processor of hostdevice 102.

At block 2802, host device 102 can receive a request for accountidentifiers (and/or other account data) from a wearable device, e.g.,wearable device 100. At block 2804, host device 102 can determinewhether a verified session is in progress. For example, as describedabove, a verified session, once established, can continue until the usertakes off the wearable device or the host device loses contact (i.e.,ceases to be able to communicate) with the wearable device. Determiningwhether a verified session is in progress can include sending a sessionconfirmation request and receiving a response, e.g., as described above,and/or determining whether the wearable device is in proximity to thehost device, e.g., as described above. In some embodiments, wearabledevice 100 can encrypt the request for account identifiers using itssession key, and if host device 102 is able to decrypt and recognize therequest, this can serve as the session confirmation.

If a verified session is not in progress, then at block 2806, hostdevice 102 can deny the request. Denying the request can include, e.g.,not sending any response or sending a response indicating that therequested information will not be provided. In some embodiments, hostdevice 102 can provide an alert to the user indicating that an attemptto obtain account IDs was denied. If the user intended the attempt tosucceed, the user can make appropriate adjustments (e.g., establishing anew verified session, moving the devices closer together) and try again.

If a verified session is in progress, then at block 2808, host device102 can prompt the user to confirm that account IDs should be sent andreceive a user response. The confirmation prompt can include requiringthe user to enter a passcode or other credential to confirm that anauthorized user is responding to the confirmation prompt. Userconfirmation, while not required, can help enhance security by making itless likely that a wearable device can successfully imitate a verifiedsession and obtain the account IDs without the knowledge of anauthorized user of the host device. In some embodiments, the userconfirmation at block 2808 can also include user selection of one ormore account IDs to be sent. If the user does not confirm, host device102 can deny the request at block 2806.

If the user does confirm at block 2808, then at block 2810, host device102 can encrypt the account IDs to be sent using the session key of theverified session. At block 2812, host device 102 can send the encryptedaccount IDs to the wearable device. Sending account IDs in encryptedform can reduce the likelihood of account information being interceptedby unauthorized parties.

It will be appreciated that processes 2600 and 2800 are illustrative andthat variations and modifications are possible. Steps described assequential may be executed in parallel, order of steps may be varied,and steps may be modified, combined, added or omitted. In someembodiments, wearable device 100 can include a user-operable controlthat can be actuated to selectively delete some or all of the accountIDs that may be stored thereon without deleting other user data.

Further, while the description of processes 2600 and 2800 may makespecific reference to financial accounts, which can be general sourcesof funds for various financial transactions, identifiers for other typesof accounts can also be provided from a host device to a wearable devicein the same processes or similar processes. For example, a user canstore account identifiers associated with gym memberships, transitpasses, merchant loyalty programs, health care service providers orinsurance policies, and any other type of account. Other types ofidentifiers, such as driver's license or passport data, can also beobtained by a wearable device in a similar manner; any identifiers thatcan be stored in or obtained by a host device can be transferred to awearable device using process 2600 and 2800 or similar processes.

As noted above, the user can select specific accounts for whichidentifiers are to be sent to the wearable device. In some embodiments,the user can be prompted to make a selection during process 2800 asdescribed above. In other embodiments, the user can make a selection inadvance. For example, host device 102 can execute a personal informationmanagement program that allows the user to enter and update account data(or retrieve the data from an external source, such as a cloud-basedinformation management service). This program can provideuser-selectable options to indicate whether a given account identifiershould or should not be provided to wearable device 100.

Further, host device 102 can but need not store account identifierslocally. For example, host device 102 can be configured to pull accountidentifiers from an external source (e.g., a cloud-based informationmanagement service) and deliver them to wearable device 100 withoutpersistently storing a local copy of the identifiers.

Using processes 2600 and 2800, the wearable device can initiate arequest for account identifiers. Alternatively, the user can initiatethe operation from the host device. e.g., via a synchronization optionprovided in an information management program, and the host device canpush the information to the wearable device if the wearable device ispresent and in a verified session.

When account identifiers are stored on wearable device 100, wearabledevice 100 can become usable as a payment instrument or user identifierin various transactions. For example, as described above with referenceto FIG. 2, RF interface 208 can include an NFC interface (e.g., atransceiver and associated circuitry and/or software to communicateusing an NFC communication standard), allowing wearable device 100 tocommunicate with any checkpoint device that is equipped with acompatible NFC interface (e.g., a point-of-sale terminal in a store, aturnstile in a public transit system, a security door or barrier inoffice building, a check-in station at a gym or doctor's office).Accordingly, a user can select the account for which the account ID isto be provided at a particular checkpoint device, then present wearabledevice 100 to the checkpoint device. Wearable device 100 can communicatewith the checkpoint device to provide the selected account ID, which thecheckpoint device can use to complete a transaction (e.g., making apurchase or authorizing entry). Some examples are described below withreference to purchase transactions; those skilled in the art with accessto the present disclosure will recognize that similar techniques can beapplied in connection with other transactions.

It is to be understood that in various embodiments, wearable device 100can be used with existing NFC-capable checkpoint devices as well as newdevices. Use of wearable device 100 to present account information to acheckpoint device can provide added convenience for the user. Unliketask-specific NFC devices (e.g., smart cards) or NFC-equipped smartphones, which too often turn out to be buried in a user's bag, hidden inone of several pockets on the user's attire, or left behind entirely,leading to wasted time at the checkpoint while the user fumbles for theright device, wearable device 100 can be worn on the user's person(e.g., on the user's wrist) where it is readily accessible any time theuser needs it. The user can simply select the right account (if multipleaccount IDs are stored on wearable device 100) and proceed. In someinstances, the checkpoint device may provide information that allowswearable device 100 to select the correct account ID automatically(e.g., selecting the user's transit account if the checkpoint deviceidentifies itself as a public transit turnstile), and the user need notmanually select the account ID.

Certain embodiments allow wearable device 100 to facilitate variousaspects of a purchase transaction. For instance, payment can befacilitated using an account ID for a user's payment account (e.g.,credit card, debit card, or the like). In some embodiments, wearabledevice 100 can also facilitate defining the transaction, for example, bygathering information about products to be purchased.

FIG. 29 is a flow diagram of a process 2900 for defining a purchasetransaction according to an embodiment of the present invention. Process2900 can be implemented in a wearable device (e.g., wearable device 100of FIG. 1). In some embodiments, the implementation of process 2600 caninclude program code executed by a processor of wearable device 100,e.g., in shopping program 264 of FIG. 2.

Process 2900 can begin, e.g., when a user enters a store and selects aproduct to purchase or launches a shopping program on wearable device100. The term “store” as used herein refers to any physical location(including indoor and/or outdoor locations) where a merchant (anyperson, corporation, or other entity that operates a store) offersproducts for sale to persons who are physically present at thatlocation. The products can include tangible goods of any kind (e.g.,electronic devices, clothing, food, sports equipment, books, luggage,tools, appliances, furniture, housewares, works of art, and any othertangible items) and/or services (e.g., personal services such as haircutting, manicures, medical services, tutoring services, personaltraining services; services associated with a purchase of tangible goodssuch as extended warranty, training classes, delivery, installation; andany other service a person may purchase in a store).

At block 2902, wearable device 100 can initialize a purchase order for apurchase transaction. For example, if the user launches a shoppingprogram on wearable device 100, the shopping program can create apurchase order. The purchase order can initially be empty, and the usercan add products to the order as described below.

For example, at block 2904, wearable device 100 can obtain productinformation for a product selected by the user. Product information caninclude any information pertaining to the product, such as a productname and/or price. Various techniques can be used to obtain productinformation. For example, many products have a computer-readable tag,e.g., a UPC (universal product code) bar code, a QR (quick response)code, or the like, which can be attached to the product (or itspackaging) or otherwise associated with the product (e.g., displayed ona shelf edge label near the product or printed on a display of productinformation). If wearable device 100 includes a camera (e.g., camera 229of FIG. 2), a user can hold wearable device 100 so that the camera cancapture an image of the computer-readable tag. Wearable device 100 cananalyze the image and extract product information. As another example,an RFID (radio-frequency identification) chip can be embedded in aproduct or its packaging or otherwise associated with the product (e.g.,attached to a shelf edge near the product or incorporated into a displayof product information). Where wearable device 100 has an NFCtransceiver, the NFC transceiver can be operated to read productinformation from the RFID chip, e.g., by holding wearable device 100 inproximity to the RFID chip. Other techniques can also be used.

At block 2906, wearable device 100 can present product informationobtained at bock 2904 (e.g., the product's name and/or price) to theuser. At block 2908 the user can confirm whether the product should beadded to the purchase order. If the user confirms, the productinformation can be added to the purchase order at block 2910.Thereafter, at block 2912, process 2900 can determine whether the userhas identified another product of interest; if so, process 2900 canreturn to block 2904 to obtain the product information. If not, then atblock 2914, process 2900 can determine whether the purchase order iscomplete. The determination can be based, e.g., on user input indicatingthat the user has finished modifying the purchase order or on otherevents; for example, wearable device 100 can infer that the purchaseorder is complete based on presentation of wearable device 100 to a POSterminal that uses NFC.

Once the purchase order is complete, at block 2916, wearable device 100can provide the purchase order to a POS terminal. A POS terminal can beany electronic device or other automated system that is capable ofinteracting with a customer and/or a store employee to complete apurchase transaction. (The term “store employee” as used herein canrefer to anyone working in the store, regardless of actual job title orlegal employment status, and the term “customer” can refer to anyone whopurchases or attempts to purchase products at the store.) At block 2918,wearable device 100 can conduct a purchase transaction to purchase allof the items on the purchase order. e.g., by communicating with the POSterminal. It should be noted that in some instances, a purchasetransaction can be conducted on a “self-service” model, withoutinvolving a store employee. The user can generate a purchase order usingwearable device 100 and conclude the transaction at an automated POSterminal prior to leaving the store.

FIGS. 30 and 31 illustrate shopping interface screens for wearabledevice 100 that can be used in connection with process 2900 according toan embodiment of the present invention. FIG. 30 illustrates an interfacescreen 3000 that can be used for managing a purchase order. In region3002, screen 3000 can present a current total price of the order basedon products already added. “Read” button 3004 can be actuated toinstruct wearable device 100 to obtain product information for a product(e.g., triggering execution of block 2904 of process 2900). “Checkout”button 3006 can be actuated to indicate that the purchase order iscomplete (e.g., at block 2914 or process 2900). “Clear” button 3006 canbe used to clear the purchase order, e.g., if the user decides to leavethe store without making a purchase. Other options can also be provided,e.g., options to review a list of products in the order and/or to removeindividual products from the order.

FIG. 31 illustrates an interface screen 3100 that can be used for addingan item to a purchase order. Screen 3100 can be used, e.g., to presentproduct information to the user at block 2906 of process 2900. In region3102, screen 3100 can present product information including, e.g., aproduct identifier and price. “Add” button 3104 can be selected toinstruct wearable device 100 to add the product to the purchase order.“Cancel” button 3106 can be selected to instruct wearable device 100 notto add the product to the purchase order. In some embodiments,additional options can be provided, such as a control allowing the userto specify the quantity of the item to be purchased.

It will be appreciated that purchase-order processes and interfacesdescribed herein are illustrative and that variations and modificationsare possible. Steps described as sequential may be executed in parallel,order of steps may be varied, and steps may be modified, combined, addedor omitted. For instance, product information presented to the user(e.g., product name and price) need not be read from the product'sidentifying tag (barcode, QR code. RFID chip, etc.). In some instances,the identifying tag can include just an identification code, andwearable device 100 can use this code to obtain additional information,e.g., by communicating with another device. For example, wearable device100 may be able to communicate with a product data server maintained bythe store; such communication can be via Bluetooth or other wirelessprotocols supported by wearable device 100, and in some respects theproduct data server can act as a host device. As another example,communication between wearable device 100 and the store's product dataserver can be mediated by a host device carried by the user (e.g., theuser's mobile phone). Wearable device 100 can communicate with theuser's host device to request information, and the user's host devicecan relay the request to the store's server and relay the server'sresponse back to wearable device 100.

As another example, the purchase order can be but need not be maintainedon wearable device 100. For example, the purchase order can bemaintained on a host device carried by the user or on a server providedby the store, and wearable device 100 can communicate updates to thepurchase order to the device that maintains the order as user input isreceived.

The interface screens described above can also be varied and can includemore, fewer, or other control options than those shown. In someembodiments, control can be provided through touch gestures, spatialgestures, and/or voice input, in addition to or instead of throughvirtual buttons or the like.

Once the purchase order is complete, various processes can be used toconduct the purchase transaction. FIG. 32 is a flow diagram of a process3200 for conducting a purchase transaction according to an embodiment ofthe present invention. Process 3200 can be implemented in a wearabledevice (e.g., wearable device 100 of FIG. 1). In some embodiments, theimplementation of process 3200 can include program code executed by aprocessor of wearable device 100, e.g., in connection with implementingblock 2918 of process 2900 described above.

Process 3200 can begin when wearable device 100 is in communication witha POS terminal, e.g., using NFC or other wireless communicationtechnologies. In the context of process 2900, it is assumed thatwearable device 100 has provided the purchase order to the POS terminal,although in some embodiments, the POS terminal can obtain a purchaseorder from another source. For instance, as noted above, purchase ordersconstructed using wearable device 100 can be maintained on the store'sserver, and a POS terminal can retrieve the correct purchase order fromthe store's server based on an identifier of the wearable device withwhich it is communicating.

At block 3202, wearable device 100 can receive a confirmed total pricefrom the point of sale device, based on the purchase order. As describedabove, in some embodiments, wearable device 100 can maintain a runningtotal as the order is constructed. This running total might or might nottake into account discounts, coupons, taxes, or other factors that canaffect the actual price a customer pays. In some embodiments, the POSterminal can make these adjustments (if they have not already been made)and determine the confirmed total price of the purchase order.

At block 3204, wearable device 100 can present the total price to theuser, along with a list of payment options. FIG. 33 illustrates apayment interface screen 3300 that can be used in some embodiments.Screen 3300 can present the total price in region 3302 and can presentcontrol buttons 3304, 3306, 3308 for selecting among payment options.The payment options can be generated, e.g., from payment accountidentifiers obtained from a host device using process 2600 or a similarprocess. In some embodiments, the various payment accounts can beassigned nicknames, either by the user or by default, and buttons 3304,3306, 3308 can be labeled with the nicknames or any other label that candistinguish different accounts. Depending on the number of accounts andsize of screen 3300, a scrollable list of options can be provided.

Some embodiments may provide for filtering the list of payment options.For example, wearable device 100 can filter out any accounts that arenot payment accounts (e.g., a gym membership account). If the POSterminal provides information as to the types of payment accountsaccepted (e.g., which credit cards the merchant accepts), wearabledevice 100 can present only payment accounts of accepted types.

Payment account options can be presented in any order. For example, thelist can be sorted alphabetically or based on recency of use (e.g.,most-recently used listed first). In some embodiments, the user canselect a sort order (either in advance or in real time), or the user canpredefine an arbitrary order (somewhat similarly to the way some a userof a traditional wallet may prefer to arrange the cards in anidiosyncratic order).

Referring again to FIG. 32, at block 3206, the user can select a paymentaccount. e.g., by selecting the corresponding button from interfacescreen 3300. At block 3208, wearable device 100 can present an accountidentifier of the selected payment account to the POS terminal. The POSterminal can use the account identifier to complete a purchasetransaction (e.g., by communicating with a payment processor associatedwith the account, as described below). At block 3210, wearable device100 can receive a transaction result from the POS terminal. If the POSterminal indicates that the transaction completed successfully, the useris free to leave the store with the purchased products. If not, the usermay be prompted to try again (e.g., selecting a different paymentaccount at block 3206).

FIG. 34 is a flow diagram of a process 3400 that can be executed by apoint-of-sale terminal to complete a purchase transaction with awearable device, e.g., wearable device 100, according to an embodimentof the present invention. The POS terminal can be implemented as acomputer system (e.g., with processor(s), storage, user interfaces,network interfaces, and/or RF interfaces, which can be of generallyconventional or other design) executing appropriate program code.

Process 3400 can begin when a POS terminal is in communication withwearable device 100, e.g., using NFC or other wireless communicationtechnologies. At block 3402, the POS terminal can receive a purchaseorder from wearable device 100. For example, wearable device 100 cantransfer the stored product (and quantity) information for each productin the purchase order to the POS terminal. Alternatively, if thepurchase order is maintained on in in-store server or the like, the POSterminal can obtain an identifier of the wearable device and/or thepurchase order from wearable device 100 and can use that identifier toretrieve the purchase order from the in-store server.

At block 3404, the POS terminal can verify the total price of thepurchase order, e.g., by communicating with an in-store server orconsulting its own internal data regarding product pricing andadjustments thereto (e.g., discounts, coupons, taxes, etc.). At block3406, the POS terminal can send a confirmation of the order to wearabledevice 100. This confirmation can include the verified total price andcan be the confirmation received by wearable device 100 at block 3202 ofprocess 3200.

At block 3408, the POS terminal can receive a payment account identifierfrom wearable device 100. The payment account identifier can include anycombination of information items that may be required to process apurchase transaction (e.g., charge or debit) against a given account. Byway of example, an account identifier for a credit card can include anidentifier of the payment processor (e.g., MasterCard®, VISA® or thelike), a specific account number (e.g., 16-digit credit card number), acard verification value (e.g., 3-digit code), an expiration date (e.g.,month and year), and a name of the account holder. It is to beunderstood that the content of different account identifiers may vary,e.g., based on the type of account, requirements of a financialinstitution where the account is maintained, and/or banking industryregulations.

At block 3410, the POS terminal can send a transaction request to apayment processor associated with the financial account. The paymentprocessor can be, e.g., a server that is owned and operated by a bank,credit card association, third-party provider of transaction processingservices, or the like, and the POS terminal can communicate with thepayment processor via a network (e.g., the Internet, a virtual privatenetwork, or the like). The transaction request can include, e.g., atransaction type indicating that the transaction is a purchase, atransaction identifier assigned by the POS terminal (this can include.e.g., an identifier of the POS terminal), the total price, the accountidentifier obtained from wearable device 100, and/or other informationsuch as details of products being purchased. In some embodiments, thetransaction request can include an identifier of the wearable devicethat provided the account identifier to the POS terminal.

The payment processor, which can be of conventional design, can use theinformation contained in the transaction request to determine whether toapprove or reject the transaction. The determination can includestandard payment-processing activities, such as verifying the existenceand good standing of the account to be charged, sending instructions tothe financial institution where the account is maintained to debit theaccount, and sending instructions to a financial institution where themerchant maintains an account to credit the merchant's account. Otherpayment processing mechanisms can also be used.

At block 3412, the POS terminal can receive a transaction result fromthe payment processor, and at block 3414, the POS terminal can providethe transaction result (or selected information about the transactionresult) to wearable device 100.

In some embodiments, the POS terminal can include a display thatpresents information to the user of wearable device 100 (and/or to astore employee); this information can be the same as informationprovided to wearable device 100. If the display of the POS terminal islarger than the display of wearable device 100, more information can beincluded. For instance, when the POS terminal receives the purchaseorder, it can present the list of products and allow the user/customeror a store employee to modify the list via direct interaction with thePOS terminal. The POS terminal can also provide details regarding taxes,discounts, and other price adjustments that may have been applied indetermining the total price. The POS terminal can also provide prompts.e.g., instructing the user to hold the payment device (wearable device100) next to an NFC reader in order to provide payment information. ThePOS terminal can be self-service, and in combination with process 2900,a user/customer can complete a “self-service” purchase without theparticipation of store employees. If desired, an employee can be presentand can assist the user with various aspects of completing the purchaseorder and providing the payment account information.

A further understanding of processes 3200 and 3400 can be had withreference to FIG. 35, which shows a message-passing diagram forcompleting a purchase according to an embodiment of the presentinvention. In this embodiment, a user 3502 wearing a wearable device3504 can complete an in-store purchase with a POS terminal 3506. POSterminal 3506 can communicate with a payment processor 3508 to process apurchase transaction.

The transaction can begin when wearable device 3504 communicates apurchase order (message 3510) to POS terminal 3506. This communicationcan correspond to block 3402 of process 3400 and block 2916 of process2900 described above. POS terminal 3506 can return a confirmationmessage 3512 to wearable device 3504, e.g., corresponding to block 3202of process 3200 and block 3406 of process 3400. In response to receivingconfirmation message 3512, wearable device 100 can present paymentoptions (message 3514) to user 3502. e.g., corresponding to block 3204of process 3200. Messages to the user can include, e.g., visualdisplays, audio prompts, and/or other message formats that arecomprehensible to a human being. User 3502 can select a payment optionvia message 3516 (e.g., operating a user interface control of wearabledevice 3504); this can correspond to block 3206 of process 3200. Inresponse to receiving selection 3516, wearable device 3504 cancommunicate the corresponding payment account identifier to POS device3506 via message 3518, which can correspond to block 3208 of process3200 and block 3408 of process 3400. POS device 3506 can send atransaction request message 3520 to payment processor 3508 (e.g., via anetwork), and payment processor 3508 can respond with a transactionresult message 3522 indicating acceptance or rejection; this exchangecan correspond to blocks 3410 and 3412 of process 3400. POS device 3506can provide a transaction result message 3524 (which can be, but neednot be, identical to result message 3522) to wearable device 3504; thiscan correspond to block 3414 of process 3400 and block 3210 of process3200. Finally, wearable device 3504 can present an alert message to theuser, for example, to indicate whether the transaction was successfullycompleted.

It will be appreciated that purchase transaction operations describedherein are illustrative and that variations and modifications arepossible. Steps described as sequential may be executed in parallel,order of steps may be varied, and steps may be modified, combined, addedor omitted. The particular communications between a POS terminal and apayment processor can be adapted to particular payment account types andrequirements. Similarly, communication between the POS terminal and awearable device can be adapted to the particular protocols andinformation requirements of the devices. It should be noted that awearable device can support multiple different wireless communicationchannels and protocols (e.g., both NFC and Bluetooth), and accordinglythe same wearable device can be used for purchase transactions with anyPOS terminal that supports at least one protocol that is compatible witha protocol supported by the wearable device.

A wearable device can obtain account identifiers from a host device inadvance of the purchase transaction, e.g., using process 2600 describedabove or similar processes. Accordingly, it is not required that a hostdevice belonging to the user participate in or even be present at thelocation of a purchase transaction.

In some embodiments, however, a host device belonging to the user of thewearable device can participate in a purchase transaction. For example,as noted above, the account identifiers stored in a wearable device neednot include enough information to actually complete a purchasetransaction (e.g., the wearable device can just store a nickname foreach account). Where this is the case, a host device can provideadditional account information to the wearable device at the point ofsale, and the wearable device can relay the information to the POSterminal. In some embodiments, the wearable device can delete theadditional account information upon completion of the transaction sothat such information is not persistently stored in the wearable device.

FIG. 36 shows a message-passing diagram for completing a purchaseaccording to an embodiment of the present invention in which a hostdevice is present. In this embodiment, a user 3602 wearing a wearabledevice 3604 that is paired with (or otherwise in communication with) ahost device 3606 that belongs to the user can complete an in-storepurchase with a POS terminal 3608, POS terminal 3608 can communicatewith a payment processor 3610 to process a purchase transaction.

The transaction can begin when wearable device 3604 communicates apurchase order (message 3612) to POS terminal 3608. POS terminal canreturn a confirmation message 3614 to wearable device 3604. In response,wearable device 3604 can present payment options (message 3616) to user3602 and receive a user selection (message 3618). Up to this point, thetransaction sequence and messages can be identical to the sequence andmessages described above with reference to FIG. 35.

However, in this example, it is assumed that wearable device 3604 doesnot have sufficient information about the selected account to initiate apurchase transaction with POS terminal 3608. Accordingly, wearabledevice 3604 can send an information request message 3620 to host device3606 to obtain additional account information, and host device 3606 canreturn the additional account information (message 3622); the additionalinformation can include any information needed by wearable device 3604to initiate the purchase transaction In some embodiments, messages 3620and 3622 can be sent while wearable device 3604 and host device 3606 arein a verified session (e.g., as described above), and the request andresponse can be encrypted using the session key. The exchange ofmessages 3620 and 3622 can happen automatically (without userintervention) provided that host device 3606 and wearable device 3604are in communication range of each other, as is likely if both aresomewhere on the user's person.

After wearable device 3604 receives message 3622, the remainder of thetransaction can proceed similarly to embodiments described above withreference to FIG. 35. Wearable device 3604 can provide accountinformation message 3264 to POS terminal 3608. POS terminal 3608 cansend a transaction request message 3626 to payment processor 3610 andreceive a transaction result 3628. POS terminal 3608 can provide acorresponding result message 3630 to wearable device 3604, which in turncan present user alert message 3632 to user 3602.

The transaction sequence of FIG. 36 allows account-identifyinginformation sufficient to draw funds from an account to be persistentlystored on a user's host device and transferred to a wearable device forshort-term use on an as-needed basis. Other transaction sequences canavoid providing account information to a wearable device even on ashort-term basis. For example, FIG. 37 shows a message-passing diagramfor completing a purchase according to another embodiment of the presentinvention. In this embodiment, a host device 3706 and a POS terminal3708 each provide portions of a transaction request to a paymentprocessor 3710.

The transaction can begin when wearable device 3704 communicates apurchase order (message 3712) to POS terminal 3708. POS terminal canreturn a confirmation message 3714 to wearable device 3704. In thiscase, confirmation message 3714 can include a transaction identifier(“tid”) assigned by POS device 3708 to the transaction as well as otherinformation such as the total price. In response, wearable device 3704can present payment options (message 3716) to user 3702 and receive auser selection (message 3718). Up to this point, the transactionsequence and messages can be similar or identical to the sequence andmessages described above with reference to FIG. 35.

In response to user selection message 3718, wearable device 3704 canprovide transaction information message 3720 to host device 3706.Message 3720 can include information received by wearable device 3704 inconfirmation message 3714 (e.g., the transaction identifier and totalpurchase price) and the account selection received from the user inmessage 3718. Based on this information, host device 3706 can generate acustomer-side transaction request message 3722 to be sent to paymentprocessor 3710. Message 3722 can include the transaction identifier, thepurchase amount, account identifying information sufficient to completethe purchase transaction, and optionally other information such as anidentifier of wearable device 3704 and/or host device 3706.Concurrently, POS terminal 3708 can generate a merchant-side transactionrequest 3724 to be sent to payment processor 3710. Message 3724 caninclude the transaction identifier, the purchase amount, an identifierof a merchant account (which in some embodiments can be incorporatedinto the transaction identifier) and optionally other information suchas details regarding items purchased and/or an identifier of wearabledevice 3704. It is to be understood that no particular time ordering isrequired between messages 3722 and 3724, although in some embodimentsthe transaction may be rejected if messages 3722 and 3724 are receivedtoo far apart in time by payment processor 3710.

Payment processor 3710 can receive messages 3722 and 3724 and correlatethem, e.g., based on the transaction identifier; other overlappinginformation items can be used to verify the transaction. In analternative embodiment, messages 3722 and 3724 can be received at anintermediary, such as an in-store data server, which can combinemessages 3722 and 3724 into a single transaction request message to besent to payment processor 3710.

Payment processor 3710 can process a transaction based on theinformation from messages 3722 and 3724 (which can be receivedseparately or received as a combined request) and can return atransaction result message 3726 to POS terminal 3708. Similarly toembodiments described above, POS device 3708 can provide a correspondingresult message 3728 to wearable device 3704, which can present a useralert message 3730 to user device 3702. Alternatively, payment processor3710 can provide transaction results to both POS terminal 3708 and hostdevice 3706 (e.g., if payment processor received separate messages 3722and 3724).

As FIGS. 35-37 illustrate, a number of different payment processingtechniques can be implemented, and in some embodiments, a wearabledevice and/or host device can be configured to adapt to differenttransaction requirements at different points of sale. For instance, aPOS terminal can inform a wearable device (e.g., in confirmation message3714) if a separate customer-side transaction request is required. If itis, the wearable device can communicate with a paired host device togenerate the customer-side transaction request, and this can be doneregardless of whether the wearable device or host device (or both) has apersistent store of account-identifying information.

The processes and messages described herein are not limited to purchasetransactions. Similar processes and messages can be used, for example,in connection with crediting funds to a user's account (e.g., if theuser returns previously purchased goods for a refund). Likewise, similarprocesses can be used to identify a user at a security checkpoint (e.g.,a security door or barricade in an office complex, a check-in station ata gym or medical office, or the like) and/or to allow the user to use atransit pass or debit account to enter a mass transit facility orvehicle. For example, a checkpoint device (which can be physicallypresent at the security checkpoint) can obtain account identifiers orother identifiers from the user's wearable device and forward theidentifiers to a back-end server, which can confirm whether the user isauthorized to proceed. In some instances, a checkpoint device canmaintain a local store of authorization information, and a back-endserver is not required.

As described above, a wearable device can obtain account information forany number of accounts of various kinds associated with a user. Theaccounts can include financial accounts as well as other types ofaccounts or authorization credentials, including but not limited to theexamples described above. Account information (including authorizationcredentials) can be provided to the wearable device during a verifiedsession with a host device, to facilitate secure data exchange. In someembodiments, the wearable device can require an active user input (e.g.,to select an account or confirm a selection) prior to transmittingaccount information to a POS terminal or other checkpoint device;requiring user input can help avoid unauthorized exposure of accountinformation or other sensitive data to third-party devices.

Further, as described above, a wearable device can be configured toautomatically delete any locally-stored account information (includingauthorization credentials) when it ceases to be worn. This can preventmisuse of a user's data. e.g., in the event of loss or theft of thewearable device. In some instances, account data may be more securelystored on a wearable device where it is subject to deletion as soon asthe device ceases to be worn than on a device that may not provide asimilar feature, such as many mobile phones or the like.

In some embodiments, the user can actively manage which account data isstored on a wearable device. For example, as described above, the usercan select particular account data to be synchronized to the wearabledevice and/or enter some or all account data directly into the wearabledevice. Further, a user interface of a wearable device can allow a userto selectively delete account identifiers (or any other user data) fromthe wearable device. Deletion of data from the wearable device can, butneed not, result in deletion of corresponding data from any otherdevices with which the wearable device synchronizes.

Purchase processes described herein can operate independently of anyparticular mechanism for providing account data to a wearable device.For example, a wearable device can be used to construct and/or manage apurchase order for a user regardless of whether it has any purchaseaccount data. A user can transmit the completed purchase order from thewearable device to a POS terminal and pay for the purchase using adifferent medium (e.g., cash or magnetic-stripe purchase card or thelike). Similarly, the payment processes described above can beimplemented independently of whether the wearable device is used toconstruct or manage the purchase order for which payment is made.

While the invention has been described with respect to specificembodiments, one skilled in the art will recognize that numerousmodifications are possible and that components, operations, and/or otherfeatures that may be described with respect to different embodiments canbe incorporated into the same embodiment. Wearable devices can interactwith host devices to facilitate a variety of operations with increasedconvenience to the user.

All user interfaces shown herein are also illustrative. Sizes of userinterfaces or graphical elements thereof can be modified according to aparticular desired form factor of a wearable device and/or host device.Icons can be used in addition to or instead of text to identifyassociated functions, and the number and arrangement of controls can bevaried to facilitate user operation. In some embodiments, the user maybe able to scroll the display, e.g., by dragging one or two fingersalong the surface of a touchscreen display to see more options than canbe presented at once. Further, while the foregoing description may referto graphical user interfaces, other interfaces can also be used. Forexample, an audio input interface can be provided by allowing the userto speak into a microphone of a wearable device; the wearable device caninterpret the audio signal locally to determine a correspondinginstruction or send the audio to a host device for interpretation.Similarly, an audio output interface can be provided by using a speakeron the wearable device to produce sounds. The sounds can include tones(beeps, whirrs, etc.) and/or speech sounds; for example, synthesizedspeech can be generated on a host device and transmitted to the wearabledevice as a digital audio signal, or the wearable device can include itsown speech synthesizer. In some embodiments where a wearable device isworn on the user's hand, wrist, or arm, user input can include spatialgestures with the hand, wrist, and/or arm that are detected using motionsensors of the wearable device in addition to or instead of touchgestures involving contact with a touch-sensitive surface of thewearable device. Different gestures can be assigned different meanings,and the meaning of a gesture can be context-dependent, e.g., dependingon what operations of the host device and/or wearable device arecurrently in progress. Thus, the same gesture can, in differentcontexts, indicate hanging up a call or stopping playback of a mediatrack. Touch gestures and spatial gestures can be used in variouscombinations as desired.

The foregoing description may make reference to specific examples of awearable device (e.g., a wrist-worn device) and/or a host device (e.g.,a smart phone). It is to be understood that these examples areillustrative and not limiting; other devices can be substituted and canimplement similar functional blocks and/or algorithms to performoperations described herein and/or other operations.

Embodiments of the present invention, e.g., in methods, apparatus,computer-readable media and the like, can be realized using anycombination of dedicated components and/or programmable processorsand/or other programmable devices. The various processes describedherein can be implemented on the same processor or different processorsin any combination. Where components are described as being configuredto perform certain operations, such configuration can be accomplished.e.g., by designing electronic circuits to perform the operation, byprogramming programmable electronic circuits (such as microprocessors)to perform the operation, or any combination thereof. Further, while theembodiments described above may make reference to specific hardware andsoftware components, those skilled in the art will appreciate thatdifferent combinations of hardware and/or software components may alsobe used and that particular operations described as being implemented inhardware might also be implemented in software or vice versa.

Computer programs incorporating various features of the presentinvention may be encoded and stored on various computer readable storagemedia; suitable media include magnetic disk or tape, optical storagemedia such as compact disk (CD) or DVD (digital versatile disk), flashmemory, and other non-transitory media. Computer readable media encodedwith the program code may be packaged with a compatible electronicdevice, or the program code may be provided separately from electronicdevices (e.g., via Internet download or as a separately packagedcomputer-readable storage medium).

Thus, although the invention has been described with respect to specificembodiments, it will be appreciated that the invention is intended tocover all modifications and equivalents within the scope of thefollowing claims.

1.-21. (canceled)
 22. A method of managing user account data, the methodcomprising: establishing, by a wearable device, a verified communicationsession with a host device, the verified communication session beingestablished while the wearable device is being worn; receiving, by thewearable device, user account data from the host device during theverified communication session; storing, by the wearable device, thereceived user account data in a storage medium of the wearable device;providing a subset of the received user account data to a checkpointterminal; and in the event that the wearable device ceases to be worn,deleting, by the wearable device, the stored user account data from thestorage medium.
 23. The method of claim 22 wherein the user account datacomprises identifying information for a financial account of the user.24. The method of claim 23 wherein the identifying information issufficient to perform a financial transaction using the financialaccount of the user.
 25. The method of claim 22 wherein establishing theverified communication session comprises establishing a session key andwherein the user account data is received in an encrypted form, themethod further comprising: decrypting the received user account datausing the session key.
 26. The method of claim 22 further comprising:subsequently to storing the received user account data, receiving, bythe wearable device, a request from the checkpoint terminal for accountdata; and selecting the subset of the stored account data to betransmitted to the checkpoint terminal based at least in part on therequest.
 27. The method of claim 26 wherein the checkpoint terminalcomprises a point-of-sale terminal and the account data comprisesaccount identifying information that is usable by the point-of-saleterminal to perform a purchase transaction with a payment processor. 28.The method of claim 26 wherein the checkpoint terminal comprises at asecurity barrier and the account data comprises an authorizationcredential of the user.
 29. The method of claim 26 wherein the wearabledevice transmits account data to the checkpoint terminal using anear-field communication channel.
 30. The method of claim 22 furthercomprising: subsequently to storing the received user account data,receiving, by the wearable device, a user selection of an account forwhich account data is to be sent to the checkpoint terminal; andselecting the subset of the stored account data to be transmitted to thecheckpoint terminal based at least in part on the user selection. 31.The method of claim 22 further comprising: receiving, by the wearabledevice, a user request to load account data onto the wearable device;and transmitting, by the wearable device, a request for user accountdata to the host device in response to the user request, wherein thewearable device transmits the request during the verified communicationsession.
 32. A wearable device comprising: a communication interface; astorage medium; a sensor to detect whether the wearable device is beingworn; and a processor coupled to the communication interface, thestorage medium, and the sensor, the processor configured to: establish averified communication session with a host device, the verifiedcommunication session being established while the wearable device isbeing worn; receive user account data from the host device during theverified communication session; store the received user account data inthe storage medium; provide a subset of the received user account datato a checkpoint terminal; and delete the stored user account data fromthe storage medium in the event that the wearable device ceases to beworn.
 33. The wearable device of claim 32 wherein the user account datacomprises identifying information for a financial account of the userand the identifying information is sufficient to perform a financialtransaction using the financial account of the user.
 34. The wearabledevice of claim 32 wherein the processor is further configured to:receive a request from the checkpoint terminal for account data; andselect the subset of the stored account data to be transmitted to thecheckpoint terminal based at least in part on the request.
 35. Thewearable device of claim 34 wherein the checkpoint terminal comprises apoint-of-sale terminal and the account data comprises accountidentifying information that is usable by the point-of-sale terminal toperform a purchase transaction with a payment processor.
 36. Thewearable device of claim 34 wherein the checkpoint terminal is at asecurity barrier and the account data comprises an authorizationcredential of the user.
 37. The wearable device of claim 34 wherein thecommunication interface comprises a near-field communication interfaceand the account data is sent to the checkpoint via using a near-fieldcommunication interface.
 38. The wearable device of claim 32 furthercomprising a user interface, wherein the processor is further configuredto select the subset of the stored account data to be transmitted to thecheckpoint terminal based at least in part on user input received at theuser interface.
 39. A computer-readable storage medium having storedthereon program instructions that, when executed by a processor in awearable device, cause the wearable device to execute a methodcomprising: establishing a verified communication session with a hostdevice, the verified communication session being established while thewearable device is being worn; receiving user account data from the hostdevice during the verified communication session; storing the receiveduser account data in a storage medium of the wearable device; providinga subset of the received user account data to a checkpoint terminal; andin the event that the wearable device ceases to be worn, deleting thestored user account data from the storage medium.
 40. Thecomputer-readable storage medium of claim 39 wherein the user accountdata comprises identifying information for a financial account of theuser and the identifying information is sufficient to perform afinancial transaction using the financial account of the user.
 41. Thecomputer-readable storage medium of claim 39 wherein establishing theverified communication session comprises establishing a session key andwherein the user account data is received in an encrypted form, themethod further comprising: decrypting the received user account datausing the session key.
 42. The computer-readable storage medium of claim39 wherein the method further comprises: subsequently to storing thereceived user account data, receiving a request from the checkpointterminal for account data; and selecting the subset of the storedaccount data to be transmitted to the checkpoint terminal based at leastin part on the request.
 43. The computer-readable storage medium ofclaim 42 wherein the checkpoint terminal comprises a point-of-saleterminal and the account data comprises account identifying informationthat is usable by the point-of-sale terminal to perform a purchasetransaction with a payment processor.
 44. The computer-readable storagemedium of claim 39 wherein the method further comprises: subsequently tostoring the received user account data, receiving a user selection of anaccount for which account data is to be sent to the checkpoint terminal;and selecting the subset of the stored account data to be transmitted tothe checkpoint terminal based at least in part on the user selection.45. The computer-readable storage medium of claim 39 wherein the methodfurther comprises: receiving, by the wearable device, a user request toload account data onto the wearable device; and transmitting, by thewearable device, a request for user account data to the host device inresponse to the user request, wherein the wearable device transmits therequest during the verified communication session.